28
Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки в левом нижнем углу экрана.

Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Embed Size (px)

Citation preview

Page 1: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Integration & Mapping & WebService (KaufmanICT Information Technology - KIT)

Vitali Sh.Kaufman

Copyright 2010 © Vitali S. Kaufman

К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки в левом нижнем углу экрана.

Page 2: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 2

Data on the author• http://www.kolumbus.fi/vitali.kaufman/• 2009 - KaufmanICT• 1999- 2009 – Fatman OY, Chief Software Specialist• 1991-1993 - Full Professor of Computer Science Department of the

Moscow State University, Moscow, the diploma of Doctor of Sciences was confirmed in Finland

• 1990-1994 - Chairman of the Ada Working Group in the Russian National Body of the International Standard Organization (ISO-IEC/JTC1/SC-22 - Programming Languages)), Ada 9X Distinguished Reviewer, member of ACM, SIGPLAN, SIGADA

• 1970-1993 - Scientific supervisor of 11 Ph.D on Computer Sciences• 1965-1966 - Teacher of mathematics of Moscow State University

College No.18 for Physics and Mathematics (Kolmogorov's School for extremely talented children)

• BOOKS: • Programming languages: concepts and principles. Moscow :Radio i

svyas, 1993, 432 pp. (in Russian). Republished Moscow : DMK-Press, 2010 in “Classics of programming” series.

• 1970-1986 - Organized and edited translations into Russian of 6 English books in software engineering.

Page 3: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 3

Agenda • Introduction: samples

• Integration

• Mapping

• Web Service

• How they work together

• Conclusion

Page 4: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 4

Integration (samples)• Inside Firm (app & MS SSRS)

• Inside Firm (hpdesk & ecenter)

• Export (Merimieskassa & Firm)

• Import & Export (many partners, UBL) (Firm & Senaatti & Randh, etc.)

• Import from Russia (Firm & InSystem)

• Import from Russia (Firm & EKE)

Page 5: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 5

Integration (appl & MS SSRS)

• Requirements

• Clients of ecenter should use MS RS without settings redundant parameters

• Problem

• Passing appl parameters (cid, uid, kid, rid, ...)

• Solution

• Mapping (of parameters)

Page 6: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 6

Integration (report parameters)

<report_parameter2session_table_column2session_variable>• <row report_parameter="User_Group" column="cid" session_var="cidi" />• <row report_parameter="DB_Server" column="database_server_name"

session_var="" />• <row report_parameter="DB" column="database_name" session_var="" />• <row report_parameter="Logo" column="logo_string" session_var="" />

<row report_parameter="Facility_Id" column="kid" session_var="kid" /> • <row report_parameter="Building_Id" column="rid" session_var="rid" > </row>• <row report_parameter="Flat_Type" column="apartment_type"

session_var="" />• <row report_parameter="Lease_Id" column="vsid" session_var="vsid" />• <row report_parameter="Start_Date" column="start_date_default"

session_var="" />• <row report_parameter="End_Date" column="end_date_default" session_var=""

/>• </report_parameter2session_table_column2session_variable>

Page 7: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 7

Integration (app1 & app2)

• Requirements

• Clients of app should use it without additional logins and settings parameters

• Problems

• Passing app parameters (cid, uid, kid, rid, ...)

• Security

• Solutions

• Mapping (of cids)

• Secure-recall based on DB request

Page 8: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 8

Integration (Mapping of cids)

<app1_cid_to_ app2_cid>• <row ecenter_cid="111" helpdesk_cid="23" /><!-- Finnair -->• <row ecenter_cid="116" helpdesk_cid="23" /><!-- Finnair -->• <row ecenter_cid="114" helpdesk_cid="112" /><!-- Metsäliitto -->• <row ecenter_cid="119" helpdesk_cid="112" /><!-- Metsäliitto -->• <row ecenter_cid="130" helpdesk_cid="116" /><!-- In_System -->• <row ecenter_cid="129" helpdesk_cid="116" /><!-- In_System -->• <row ecenter_cid="131" helpdesk_cid="117" /><!-- In_System -->• <row ecenter_cid="132" helpdesk_cid="117" /><!-- In_System -->• <row ecenter_cid="107" helpdesk_cid="112" /><!-- SVEA / RANDH --

>• <row ecenter_cid="102" helpdesk_cid="100" /><!-- test -->• </ecenter_cid_to_ helpdesk_cid>

Page 9: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 9

Integration (Secure-recall )

Calling application like app1 by Secure_recall :

session_id = FIT_Service_call.Put_Session_Authentication_Into_DB

(Convert.ToString(Session["UID"]));

Called application like app2 has to get the session data from caller:

if ((session_id =Request.QueryString["session_id"]) != null)

session = (FIT_Service_call.Get_Session(session_id)).Session;

Get_Session removes all the session data from Intranet DB.

Page 10: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 10

Integration (Partner & Firm)

• Requirements

• Partner site gets data from Firm DB seamless using Firm_Service web service.

• Problems

• Mutual understanding

• Web service security

• Solutions

• Business level of abstraction for Firm DB.

• Mapping (DB fields Business logic abstractions)

Page 11: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 11

Integration (Business level)

• Abstractions should use no database specific notions, just business specifics.

• Abstractions should use no programming language specific notions, just business specifics.

• Abstractions should use standard (like UBL, UFC, EHYT) notions and naming as close as possible.

Page 12: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 12

Integration (web service security)

• Web server IP restrictions • Web service method credentials

(account, password)• Secure communication protocol (https).

Page 13: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 13

Integration (Firm & Partner1 & Partner2, etc. 1)

• Requirements

• Business logic of every partner web service should fit the same rules

• Complex type (like OrderType) web method parameters that should fit Universal Business language (UBL) standard XML schemas

• The same web methods of every partner web service

• handleOrderMessage

• handleStatusMessage

• Security

Page 14: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 14

Integration (Firm & Partner1 & Partner2, 2)

• Problems

• Mutual understanding – many partners

• Several platforms (Unix, Windows)

• Several web service technologies (ASMX, WCF)

• Several foreign web service calls (by proxy for now)

• Web service security certificate management

• Remote production web server(ISS)

• Maintenance (new partner addition, etc.)

Page 15: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 15

Integration (Firm & Partner1 & Partner2, 3)

• Solutions

• Separation of business logic levels

• Import web service calls (Vitali: UBLService)

• Business logic for local DB (Stefan: windows service)

• Export foreign web service calls (Vitali: UBLService_private)

• Mappings (DB fields UBL)

• Flexible customization (!Parameters.xml & ParaDiaLog)

Page 16: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 16

Integration (Firm & Partner. 1)

• Requirements

• Partner send data to Firm DB that should be seen by Firm helpdesk

• Problems

• Mutual understanding - Firm & Partner)

• Web service security

• Solutions (FI_XML_Service)

• Business level of abstraction for Firm DB.

• Mapping (DB fields Business logic abstractions)

• Security by IP restrictions

Page 17: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 17

Integration (Firm & Partner. 2)

• Business level of abstraction for Firm DB.

• Mapping (DB fields Business logic abstractions)switch (MeasurementType)

{case "Water":

MeasurementType_translated = "Vesi";

MeasurementUnit = "m3"; break;

case "Gas":

MeasurementType_translated = "Kaasu"; MeasurementUnit = "m3"; break;

case "Heat":

MeasurementType_translated = "Lämpö";

MeasurementUnit = "kWh"; break;

case "Electricity":

MeasurementType_translated = "Sähkö"; MeasurementUnit = "kWh"; break; }

Page 18: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 18

Integration (Firm & Partner, 3)

"INSERT INTO [dbo].[kiintml] ("

+ "[KID]"

+ ",[Vuosi]"

+ ",[Kuukausi_id]"

+",[Tarkenne]"

+ ",[Mittarinnumero]" //VK ",[SensorID]"

+ ",[Kulutus]" //VK ",[MeasurementValue]"

+ ",[InsertedDate] " //VK TimeStamp

• Security by IP restrictions

Page 19: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 19

Integration (main ideas)• Common requirements exist

• Common problems exist

• Common solutions exist

• KaufmanICT & ICT_Web_Service_Master

• Provide the solutions

• Solving the problems

Page 20: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 20

Integration requirements

• Preserving functionality (possibly restricted) of every integrating system

• Preserving security of every integrating system and the integrated system as the whole

• Maintenance overheads should be acceptable

• Performance overheads should be acceptable

• Integration efforts should be acceptable

• Effort distribution between partners should fit their competence

Page 21: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 21

Integration problems• Mutual understanding between system

representatives

• Security restrictions

• Notions harmonization

• Notions mapping

• Business logic harmonization

• Mapping implementation

• Security providing

Page 22: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 22

Integration solutions• 7 key words

• Functionality (3 words)• Mapping

• Standard

• Service

• Requirements (4 words)• Simplicity (nothing redundant)

• Clarity (nothing vague)

• Security (nothing unprotected)

• Robustness (nothing weak)

Page 23: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 23

Integration kinds • System Integration (a team of developers; goal: a system from modules)

• Enterprise Information Integration (a single owner of the

systems & information; goal: a single system for end user)

• Cross enterprise integration (different owners of systems &

information; goal: a single system for end user)

• Cross enterprise selected information harmonization - data synchronization (our case; goal: selected information should be the same in different enterprise data storages)

• Legacy integration (old platforms & old data formats; goal: make it working

since no way to rebuild)

• Samples

Page 24: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 24

Integration tools • Requirements

• Cross-platform

• Cross-language

• Cross-standard

• No developer environment

• No specific qualification

• Problems

• How to make money

• Solutions (the same 7 key words)

• ICT web service master

Page 25: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 25

Mapping tools • XML-based (considered above)

• VK_Grid-based (should be considered below)

• VK_Grid calculation fields as a key point of the tool convenience

Page 26: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 26

Whom and what for is it?• System integrators• Enterprise integrators • Cross e enterprise integrators• Legacy integrators• Firms and even states (e.g. for legacy

system integration)

Page 27: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Vitali Sh. Kaufman: Integration & Mapping & WebService 27

Integration as the whole

Partner

Partner

WWW Server

Web Service

XML

importinfo

info

export

XML

Database

Partner

integration components

Database server

Page 28: Integration & Mapping & WebService (KaufmanICT Information Technology - KIT) Vitali Sh.Kaufman Copyright 2010 © Vitali S. Kaufman К следующему слайду –

Questions, comments?

Copyright 2010-2014 © Vitali S. Kaufman

Thank you!

http://vicita/vk-en