Download presentation
Presentation is loading. Please wait.
Published byMaud Ramsey Modified over 10 years ago
1
Service Data Objects (SDO) and Data Access Service (DAS)
2
SDO is a vendor neutral specification for Data Access in SOA SDO is not another persistence API SDO complements other persistence approaches Could be seen a neutral specification for advanced DTOs http://www.osoa.org/display/Main/Service+Data+Objects+Specifications SDO2 is defined through the Open SOA and OASIS organizations www.osoa.orgwww.osoa.org www.oasis-open.org www.oasis-open.org www.osoa.orgwww.oasis-open.org Open SOA defines new standards and transfer them to OASIS as they become mature SDO is language neutral Java.Net, vNext C++, Cobol, PHP SDO is data source neutral RDBMSServices Legacy integration Packages applications
3
Manipulation and transfer of Data Graphs Make DTO pattern more standardized Data Transfer in XML is standardized Simple APIs and metadata Make tooling easier Dirty tracking at the client side
4
SDO 1 In 2004 IBM & BEA launched the CommonJ initiative Apart from the JCP SDO and EMD (+Timer & Worker) In 2004 Xcalia joined IBM & BEA In 2005 Eclipse provides a first limited implementation of SDO 1 In 2005 Xcalia XIC 4.x provides an early implementation of SDO 1 SDO 2 In December 2005 Oracle, SAP and Sybase joined SDO 2 Plus Iona, Siebel, Zend SCA complements SDO In July 2006, Sun, Rogue Wave, SAG, RedHat, Progress and Tibco also joined SDO 2 Launch of www.osoa.org www.osoa.org In September 2006, Xcalia XIC 5.x supports SDO 2 SDO 2 transferred to OASIS in March 2007
5
Open source: Eclipse, Tuscany (SDO + SCA) Oracle will support SDO 2 within Fusion SAP will support SDO 2 within NetWeaver BEA supports SDO 2 within AquaLogic (as a foundation for their Data Services) IBM supports SDO 2 through Eclipse Support for C++ and Cobol is announced IBM will support SDO 2 as business objects of Information Services RogueWave HydraSDO supports SDO 2 for C++ Zend supports SDO 2 for PhP Xcalia XIC 5.x supports SDO 2 for Java and.Net
6
How Service Data Objects will simplify and unify your SOA data access architecture and code Presentation at JavaONE 2006
7
Michael Carey–BEA Systems Stephen Brodsky–IBM Blaise Doughan–Oracle Henning Blohm–SAP Eric Samson–Xcalia
8
Business Processes MonitoringWorkflows Business Applications Portals Composite Applications Workflows Rich client Browser Mobile Clients Information Services Data & Content Analysis Integration Application Adapters Quality SDO Virtualizing the IT Infrastructure
9
Object/Java ™ technology API that spans types of data to provide Object(value)-based read-modify-write Complex data structures (not just rows) Disconnected access pattern Optimistic concurrency control model Tools for data binding Industry Support Joint specification: BEA, IBM, Oracle, SAP, Sybase, Xcalia Open source implementations (Apache, Eclipse) Products
10
Client SDO JDBC XPath/XQuery Local XML/HTTP CCI/Proprietary JCA Web Service RDB XML DB EJB Customer Data Access Service
11
Web apps are semi-connected, optimistic-concurrency based apps Open DB connection Retrieve data from DB Close DB connection Generate HTML;… Receive response (e.g., HTML form post) Open DB connection Perform update to DB Close DB connection Standard patterns for optimistic collision detection, pagination, sorting, etc.
12
Client Change Summary Data Graph DataObject JDBC XPath/XQuery Local XML/HTTP CCI/Proprietary JCA Web Service RDB XML DB EJB Customer Data Access Service
13
Unified and consistent data access to heterogeneous data sources Simplified programming model for the application programmer Enable tools and frameworks to work consistently across heterogeneous data sources Robust client programming model for several Java EE platform best practice application patterns Disconnected client programming model Custom data access layers based on common design patterns First class support for XML Schema, XML InfoSet, and XML data sources XML/Java technology bindings Java API for XML-based RPC (JAX-RPC) objects
14
Static models Useful when there is a strong business logic Dynamic models Frameworks, dynamic models Metadata Rich Data Objects, not just RowSet Relationships, navigation With dirty tracking and ChangeSummary XML and XML Schema integration XPath navigation through graphs of data
15
Static API: objects (POJO, beans, C#) Dynamic API: everything is DataObject Change summary API: ChangeSummary Introspection API: Type, Property XML-based serialization for transferring data graphs on the wire SDO 2 brought interoperability between SDO 2 implementations
16
Composed of properties Single and many-valued properties Properties accessed and modified by name, offset, Property or XPath Can contain other DataObjects as properties (references) Reverse link to containing DataGraph
17
Person p = (Person) dataFactory.create(Person.class); p.setName("John"); p.setPostalCode(94133); System.out.println(p.getName()); public interface Person { String getName(); void setName(String name); int getPostalCode(); void setPostalCode(int code); }
18
DataObject o = dataFactory.create(tns, "Person"); o.set("name", "John"); o.set("postalCode", 94133); System.out.println(o.get("name"));
19
get(Property)set(Property) Properties by String, int, Property, XPath get("address")get(1)get(address)get("address/zip")isSet(Property)unset(Property)create(Property)delete()
20
getXXX(property). XXX is primitives: int, float, boolean, byte[],… String BigDecimal, BigInteger Date List for multi-valued properties Converts between primitives and Objects Converts between data types getInt("width") of 5.123 returns 5
21
DataObject customer1 = customers.getDataObject("customer[1]"); customer1.setString("firstName", "Kevin"); ChangeSummary updated to mark object changed
22
SDO provides a simple, universal meta-model Used across JavaBeans ™ architecture, XML, or any data source Useful for tools and IDEs (Model in MVC) Meta-data Classes “Type” Has name, URI, instance class, and properties “Property” Has name, type, default value, numeric index within Type
23
Alice Smith 123 Maple Street Mill Valley PA 90952... country= US name= Alice Smith street= 123 Maple Street city= Mill Valley state= PA zip= 90952 Values Properties orderDate= 1999-10-20 shipTo XML SDO PurchaseOrderType USAddress Type
24
XML Schema Concept SDO Concept Java Technology Concept SchemaURI for TypesPackage Simple TypeType, dataType=true int, String, BigDecimal, etc. Complex TypeType, dataType=false Interface AttributePropertygetX( ), setX( ) ElementPropertygetX( ), setX( )
25
SDO Programming Model One model for data across the enterprise XML, Relational, Object Generated and Dynamic SOA patterns (disconnected clients, data services) Efficient change communication across services SDO Components Static API: objects Dynamic API: everything is DataObject Change summary API: ChangeSummary Introspection/Metadata API: Type and Property XML serialization on the wire
26
Service Oriented Architecture (SOA) Service Oriented Architecture (SOA) – SDOs are the input and output of services Web Services Web Services – SDOs represent the XML on the wire XML XML – When XML-enabling an application – When accessing XML files/documents/resources/messages EJB EJB – SDOs are Data Transfer Objects (DTO), value objects – Java EE Design Pattern Enterprise Service Bus (ESB) Enterprise Service Bus (ESB) – SDOs are the input and output of services Model Driven Architecture (MDA) Model Driven Architecture (MDA) – SDO model (Type and Property) defined by Unified Modelling Language (UML) Classes and Components – SDO applications follow UML Sequence, Flow, State, and Collaboration Data access Data access – Access relational, XML, EJB, JDO, JPA, data sources – SDOs are the DTOs Messaging Messaging – SDOs represent the messages Connectors/Adapters (EIS, CICS) Connectors/Adapters (EIS, CICS) – SDOs represent the data records BPEL-J BPEL-J – SDOs are the Java business objects ADO.NET ADO.NET – DataSet is a subset of SDO Data Graphs Cross-language programming model Cross-language programming model – Complete applications may span tiers, languages Java technology Java technology – SDOs are smart POJOs with POJO interfaces
27
The specification process still goes on New features, etc. SDO 2.1 has been released by OASIS SDO 3.0 started within OASIS Xcalia is leading the SDO for.Net implementation More implementations, more tools DAS: Data Access Service
28
Joint work between IBM and Xcalia since 2006 Xcalia is now leading the DAS specification with Open SOA The server counterpart of SDO The DAS is a kind of “SDO server” The DAS is the foundation for a Data Service Platform Usable from any SDO 2 compliant implementation Can also be used for SCA / JBI new deployment model
29
© 2007 Microsoft France Votre potentiel, notre passion TM
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.