Presentation is loading. Please wait.

Presentation is loading. Please wait.

KaufmanICT Vitali Sh.Kaufman Copyright 2011 © Vitali S. Kaufman К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки.

Similar presentations


Presentation on theme: "KaufmanICT Vitali Sh.Kaufman Copyright 2011 © Vitali S. Kaufman К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки."— Presentation transcript:

1 KaufmanICT Vitali Sh.Kaufman Copyright 2011 © Vitali S. Kaufman К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки в левом нижнем углу экрана.

2 Vitali Sh. Kaufman: KaufmanICT 2 Data on the author KaufmanICT 1999-now – Fatman OY, Chief Software Specialist Full Professor of Computer Science Department of the Moscow State University, Moscow, the diploma of Doctor of Sciences was confirmed in Finland 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 Scientific supervisor of 11 Ph.D on Computer Sciences 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.“Classics of programming” Organized and edited translations into Russian of 6 English books in software engineering.

3 Vitali Sh. Kaufman: KaufmanICT 3 Directions of responsibility –Integration –Web Services –Translations –Reporting –Common code (Base classes) –Code optimization & refinement –Problem solving –Foreign projects & standards –Domestic projects

4 Vitali Sh. Kaufman: KaufmanICT 4 Roles Problem Solving Common style of programming improvement Common tool invention and maintenance Serving partner requests initialized by specific customer needs (normally, with refinement inclusive) Resposibility for specific projects

5 Vitali Sh. Kaufman: Integration & Mapping & WebService 5 Directions of improvement Strategy web services Web services allow us to compete better to concentrate on selling our knowledge and skills in the best way. We could concentrate on high levels of abstraction presenting target field notions and operations based on our huge experience in the field, on existing databases, services and standards. We could avoid to spend our efforts on details of end user interface like artist web design, where we have no competition preferences. Integration API as the whole or partly to help to integrate our applications and DB-s by clients

6 Vitali Sh. Kaufman: Integration & Mapping & WebService 6 Directions of improvement Tactics KaufmanICT involvement in early stages of discussions and decision making to improve Requirements of services and applications Architectural solution of services and applications Implementation structure Style of programming (modularity, levels of abstractions, refinement, customization, etc.) Mutual understanding in general (e.g. of technical options, real customer needs (e.g. an option to ask customers administrators to do something) Working style avoiding of ad hoc solutions, harry preparations to demo, etc.

7 Vitali Sh. Kaufman: KaufmanICT 7 Integration (samples) Inside F (appl & MS SSRS) Inside F (helpdesk & appl) Export (partner & F) Import & Export (many partners, UBL) (F & partner1 & partner2, etc.) Import from Russia (F & partner3) Import from Russia (F & partner4)

8 Vitali Sh. Kaufman: KaufmanICT 8 Common code (samples) Dictionary.dll ( appl1r & appl2 & appl3 & etc. ) FI_RC (appl, FI_CP, reporting, dashboards, entity relations, mappings, etc.) FIT_Assembly (appl & web services & etc.) ParaDiaLog (web services) FI_XML_Exchange web_service (p1, p2, p3i) Base_MasterPage ( appl & FI_CP ) Secure_recall ( appl1 & appl2 & appl3 & etc.)

9 Vitali Sh. Kaufman: KaufmanICT 9 Optimization (sample) Base_MasterPage ( appl & FI_CP ) …

10 Vitali Sh. Kaufman: KaufmanICT 10 Reporting (samples) Old reports ( appl1 & appl2 & etc. ) SSRS – Reporting services ( appl & FI_CP ) Problem solving (sample) Calendar translation ( appl1 & appl2 ) Reporting services update Projects Domestic projects MEK_F_Service Foreign projects & stadards X-Change international project X-Change international project (Germany, France, Greece, etc.)

11 Vitali Sh. Kaufman: KaufmanICT 11 Integration (appl & MS SSRS) Requirements Clients of appl should use MS RS without settings redundant parameters Problem Passing appl parameters (cid, uid, kid, rid,...) Solution Mapping (of parameters)

12 Vitali Sh. Kaufman: KaufmanICT 12 Integration (report parameters)

13 Vitali Sh. Kaufman: KaufmanICT 13 Integration (appl1 & appl2) Requirements Clients of appl1 should use appl2 without additional logins and settings parameters Problems Passing appl1 parameters (cid, uid, kid, rid,...) Security Solutions Mapping (of cids) Secure-recall based on DB request

14 Vitali Sh. Kaufman: KaufmanICT 14 Integration (Mapping of cids)

15 Vitali Sh. Kaufman: KaufmanICT 15 Integration ( Secure-recall ) Calling application like appl by Secure_recall : session_id = FIT_Service_call.Put_Session_Authentication_Into_DB (Convert.ToString(Session["UID"])); Called application like helpdesk 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.

16 Vitali Sh. Kaufman: KaufmanICT 16 Integration (client & F)client Requirements Client site gets data from F DB seamless using F_Service web service. Problems Mutual understanding - F & A (a firm serving Client) Web service security Solutions Business level of abstraction for F DB. Mapping (DB fields  Business logic abstractions)

17 Vitali Sh. Kaufman: KaufmanICT 17 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.

18 Vitali Sh. Kaufman: KaufmanICT 18 Integration ( web service security ) Web server IP restrictions Web service method credentials (account, password) Secure communication protocol (https).

19 Vitali Sh. Kaufman: KaufmanICT 19 Integration (F & 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 schemasUniversal Business language The same web methods of every partner web service handleOrderMessage handleStatusMessage Security

20 Vitali Sh. Kaufman: KaufmanICT 20 Integration (F & 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.)

21 Vitali Sh. Kaufman: KaufmanICT 21 Integration (F & Partner1 & Partner2. 3) Solutions Separation of business logic levels Import web service calls Business logic for local DB Export foreign web service calls Mappings (DB fields  UBL) Flexible customization (!Parameters.xml & ParaDiaLog)

22 Vitali Sh. Kaufman: KaufmanICT 22 Integration (F & Partner¨1) Requirements Partner send data to F DB that should be seen by F helpdesk Problems Mutual understanding - F & Partner Web service security Solutions (FI_XML_Service) Business level of abstraction for F DB. Mapping (DB fields  Business logic abstractions) Security by IP restrictions

23 Vitali Sh. Kaufman: KaufmanICT 23 Integration (F & Partner. 2) Business level of abstraction for F 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; }

24 Vitali Sh. Kaufman: KaufmanICT 24 Integration (F & Partner. 3) "INSERT INTO [dbo].[kiintml] (" + "[KID]" + ",[Vuosi]" + ",[Kuukausi_id]" +",[Tarkenne]" + ",[Mittarinnumero]" //VK ",[SensorID]" + ",[Kulutus]" //VK ",[MeasurementValue]" + ",[InsertedDate] " //VK TimeStamp Security by IP restrictions

25 Vitali Sh. Kaufman: KaufmanICT 25 Integration (main ideas) Common requirements exist Common problems exist Common solutions exist KaufmanICT & ICT_Web_Service_Master Provide the solutions Solving the problems

26 Vitali Sh. Kaufman: KaufmanICT 26 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

27 Vitali Sh. Kaufman: KaufmanICT 27 Integration problems Mutual understanding between system representatives Security restrictions Notions harmonization Notions mapping Business logic harmonization Mapping implementation Security providing

28 Vitali Sh. Kaufman: KaufmanICT 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)

29 Vitali Sh. Kaufman: KaufmanICT 29 Integration kinds System Integration (a team of developers; goal: a system from modules)System Integration Enterprise Information Integration (a single owner of the systems & information; goal: a single system for end user)Enterprise Information Integration 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

30 Vitali Sh. Kaufman: KaufmanICT 30 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

31 Vitali Sh. Kaufman: KaufmanICT 31 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)

32 Vitali Sh. Kaufman: KaufmanIC 32 Integration as the whole Partner WWW Server Web Service XML import info export XML Database Partner integration components Database server

33 Vitali Sh. Kaufman: Integration & Mapping & WebService 33 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

34 Questions, comments?? Copyright 2011 © Vitali S. Kaufman Thank you!


Download ppt "KaufmanICT Vitali Sh.Kaufman Copyright 2011 © Vitali S. Kaufman К следующему слайду – щелчком мыши, к обычному экрану – клавишей «Esc». См. также кнопки."

Similar presentations


Ads by Google