1 / 37

Universal Web Service for Providing Enterprise Data

Universal Web Service for Providing Enterprise Data. Petr PALAS PortSight Software Architect petrp@portsight.com www.PortSight.com. Quick Survey. Do you use Enterprise Information Portal in your company?. Agenda. Motivation for Universal WS Tier Architecture Overview Issues & Solutions

tavia
Download Presentation

Universal Web Service for Providing Enterprise Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universal Web Service for Providing Enterprise Data Petr PALAS PortSight Software Architect petrp@portsight.com www.PortSight.com

  2. Quick Survey Do you use Enterprise Information Portal in your company?

  3. Agenda • Motivation for Universal WS Tier • Architecture Overview • Issues & Solutions • Advanced features

  4. Why Universal Web Service?

  5. Motivation for Universal WS (1) General issues: • There’s a need to share data with partners and customers • Users want to have 360° view of data. • Users want to access data from Enterprise Portals and mobile devices. • Data come from various sources (ERP, CRM, CMS...) that have different interfaces.

  6. Ad Hoc Web Services (1) • Building ad hoc WS on top of each system: • much effort, various interfaces • cannot provide joined view • more complicated management • coding necessary every time the data structure is changed • fast development of new WS standards

  7. Applications Portal Partners WS 1 WS 2 WS 3 WS 4 Ad Hoc Web Services (2) CRM ERP CMS

  8. Applications Portal Partners Universal WS Motivation for Universal WS (2) CRM ERP CMS

  9. EAI versus Information Integration (1) • Enterprise Application Integration – sharing data between applications User Interface 2 User Interface 1 User Interface 3

  10. EAI versus Information Integration (2) • Information Integration – joined view of all data in one user/application/WS interface • BEA Liquid Data, IBM Xperanto, Nimble Integration Suite • and others... (SQL Server 2003?) Unified User/Application/ WS Interface

  11. Architecture

  12. Architecture Overview (1) • Architecture Requirements: • Data from various sources (structured, semi-structured and unstructured) • Unified interface for reading, searching and modifying data • Unified security and metadata management • Standard-based • Reasonable response time

  13. Portal Business Partners Mobile Devices Unified Application and Web Services Interface Integrated Services Tier (Metadata, caching, security, distributed search) XML Data Aggregation Tier (Data adapters) Architecture Overview (2) ERP CMS CRM Files Web Services E-Mails

  14. First Idea (1) • Describe data source • Source type • Connection parameters • Store name and schema of the table • Publish it through WS

  15. First Idea (2) - Overview Integrated Services Tier • Metadata: • Data source • Table name • Table schema Data in XML

  16. First Idea (3) – Data WS Interface • SELECT(Table, Conditions) as XML • UPDATE(Table, UpdatedData) • INSERT(Table, InsertedData) • DELETE(Table, Conditions) • SEARCH(Table, Conditions, SearchConditions) as XML • GetMetadata(Table) as XML containing XML Schema

  17. Issues & Solutions

  18. Issue 1 – Data Joining (1) Your distributor wants to see customers from Prague who ordered BMW car. But data are in RDBMS and XML. How to join them?

  19. Issue 1 – Data Joining (2) • Option 1: XQuery •  You can join semi-structured XML data from various sources •  It still isn’t standard •  May be slow for large amounts of data

  20. Issue 1 – Data Joining (3) Option 2: XML support in your RDBMS  Your RDBMS must support XML also for distributed queries  Optimized Option 3: XML support in ADO.NET (or other data access library)  Not so optimized as RDBMS  Not so flexible for semi-structured data

  21. Issue 1 – Data Joining (4) Database XML File XML Query XML View <CustomersOrders> { for $a in (<customers from Prag >) for $b in (<orders with ProductID=5>) where $a/CustID = $b/CustomerID return <customer> { $a/CustID, $b} </customer> } </CustomersOrders> <CustomersOrders> <Customer> <CustID>5</CustID> ... <Order> ... <Units>3</Units> <Order> </Customer> </CustomersOrders>

  22. Optimizer finds the best way SQL Query using JOINs XML Query Joins SQL Query Query to Mail Server RDBMS CRM Mail Issue 1 – Data Joining (5) Query Optimization: Proprietary Query

  23. Issue 2 – Exploring Data Your partners/employees don’t know your data structures. Solution: Query Builder with proprietary XML-based language and user interface • Can be mapped to XQuery or SQL (optimization) <customers> <where>City=“Prag”</where> <fields> <field>CustomerName</field> </fields> <orders>...</orders> </customers>

  24. Issue 3 - Security • WS Tier – emerging standards (WS-Security) • Data source security – security rules for each user/group/role (“Distributors can read and update customers from their country.”) • In future: XACML – allows other systems to inherit security rules from the original system (data source)

  25. Issue 4 – Data Structure Changes • The data structure may change -> use versioning: <Customers.1> • It can be used for backward compatibility

  26. Issue 5 – Namespaces and Matching • There may be tables or attributes with the same name – each table takes its namespace to sent XML data: <Siebel:Customers.1> X <SAP:Customers.1> • Concordance engine – matching records: Siebel:CustName = ‘John Smith’ X SAP:CustomerName = ‘J. Smith’

  27. Issue 6 – Data Modification • You can send all changed data/data to be deleted back to the server and it will map them to appropriate data sources. • Microsoft XML Updategrams – proprietary 

  28. Issue 7 – Process Oriented Services (1) • Placing order needn’t be only inserting a new record (data tier) • But: • You have metadata -> you can generate specific classes for the data source • Developer can then inherit and implement special functionality (call CRM system API etc.)

  29. Web Services Tier Business Tier Code Generation Data Tier Data Storage and Retrieval Issue 7 – Process Oriented Services (2) Universal Web Service Metadata Universal Data Access Class Data Adapters Data Sources

  30. Issue 7 - Process Oriented Services (3) Booking a ticket – you may want to call Ticket WS that exists concurrently with you Universal Data WS Option 1: You can convert and automatically redirect the data to appropriate WS Option 2: You add information about related WS to your metadata so that user knows about them and calls them directly

  31. Final Design

  32. Final Universal Data WS Interface • SELECTPREDEFINED(QueryID) as XML • SELECT(ProprietaryQuery) as XML • SELECTXQUERY(XQuery) as XML • UPDATE(DataToBeUpdated) • INSERT(DataToBeInserted) • DELETE(DataToBeDeleted) • SEARCH(ProprietaryQuery,SearchExpression) as XML • GETMETADATA(EntityName) as XML containing XML Schema, relationships and optionally XACML descriptors for required data

  33. Further Development • The system can be extended with: • Caching capabilities • WSRP/WSIA interface • Provisioning/Auditing system, Undo method • Components for UI – easy implementation to your client applications • XSL-based system for viewing data and converting them to other formats (like HTML, standardized XML medical data, etc.). • XForms interface for editing.

  34. Summary • You have seen: • Concept of Universal Web Service • Proposed Architecture • Issues & solutions • Pros and Cons of the Universal WS The vision behind: Unified, metadata driven access to all enterprise data and complete view of them anywhere, anytime and from any device or platform.

  35. Recommended and used sources: • www.portsight.com/technology • www.bea.com -> BEA Liquid Data • www.ibm.com -> XPeranto, Information Integration • www.oasis-open.org -> WS-Security, XACML, WSRP, WSIA • www.nimble.com -> Nimble Integration Suite • tiberi.us - great intro to XQuery • xqueryservices.com – XQuery .NET library

  36. Questions & Answers

  37. Thank You For Your Time!

More Related