Do « more » Features Quality Do « better » Faster Cheaper Complexity Efficiency Features Ease Breakthrough Standards ?
3 Innovation rarely replaces but rather complements older technologies!
In terms of IT architecture, innovation consists of being more flexible while not decreasing quality of service Do more, faster, more cheaply, more easily Keep scalability, security Based on the recurrent notion of « decoupling » Identify and separate concerns, skills Introduce well-defined layers, tiers, with replaceable solutions New layers Increase flexibility, but Decrease agility as well (new interfaces to manage) Jeopardize « Quality of Service » New interfaces Network cost
1-tier architectures, everything in a single place Component model: forms Procedural languages Hierarchical and network databases No network Green screens Business Logic Business Model GUI
2-tiers architectures, the DB in a separate server Component model: tables Procedural languages, 4GL Relational databases The downsizing Unix, local networks Windows clients Business Logic Business Model GUI WindowsUnix
CORBA 2*-tier architectures, distributed applications Component model: distributed objects Object languages Unix, IIOP Business Logic Business Model GUI Business Logic Business Model GUI
J2EE Component model: EJB entities 3-tier architectures, the application in a separate server Java, then.Net Internet, XML, thin clients Business Logic Business Model GUI
SOA Component model: Services 4-tier architectures, the application in 2 separate layers ESB, WSDL Internet, rich clients Business Logic Business Model GUIServices
Increase business agility and decrease IT costs Increase business agility and decrease IT costs Rapidly respond to changing business needs Reduce development effort Reuse of business knowledge Manage heterogenous information systems Get the most of our legacy and mainframe assets Easily scale IT infrastructure Flexible application architecture Enable incremental deployment Ease of maintenance 10
Same architecture as used in typical mainframe environments Save mainframe resources Re-use / publish business logic
Services won’t replace objects Components and objects are different things Components needs more than an architecture Culture, repository, semantic metadata, brokers The network bandwidth Internet is still slow If services are just components over the Internet Then SOA is already dead How to reconcile SOA and integration?
Forgetting data There is always a database behind a service Transactions, security, scalability We will never have 100% of data accessed only through services Mix services and databases Unified view of database and service required Forgetting Scalability Thousands of services (internal /external, legacy / new) Metadata, Repository, Dynamic composition Transactions Forgetting Flexibility BAM, optimize cost of execution Adaptability Do not hardcode in BPEL Discover new services Forgetting Heterogeneity Different services technologies, not only Web Services Not only one service for a form Composite applications, Complex M-N relationships between service consumers and providers
Integration of databases & Data Services faces many challenges Ease of development Automatic mapping between model and database Transparent manipulation Transparent navigation High Performance Caching Dynamic Optimization Pain ! Facing exactly the same issues as with manual DB programming before O/RM Encapsulation of database access via services
15 Xcalia Intermediation: Transparent, unified mapping
Heavy development (manual and tedious calls to services) When thousands of data services have to be accessed Poor software design (regression to procedural coding) Hard-coded business processes (BPEL…) Performance issues Difficult tuning (services are black boxes) 16 SOA
See for instance Exploring the Dark Side of SOAs, Robbie Clark, Dec. 2004, Is SOA really just the same old architecture?, Ben Ellingston, Mar. 2005, 00.html and htmlhttp:// htmlhttp:// Is SOA Really The Future or Just So Much Hype?, Paul Ballard, Jan. 2005, Should SOAs be developed top down or bottom up?, Nitin Bharti, Mars 2005, Beyond SOA: Principles of Service Engineering, Mark Davydov, Aug. 2004, Troubleshoot Your SOA, Robbie Clark, July 2004, Avoid Dead-End SOAs, Franck Martinez, Sept. 2004, SOA: debunking 3 common myths, Tarak Modi, Sept. 2004,
A new way to access and integrate heterogeneous data sources in a service-oriented way to compose new business applications Key requirements: Transactional capabilities and performance must be preserved End-to-end mapping of all resources with the business layer No impact into application source code No impact on data sources Metadata to describe services and how they interact at runtime Dynamic composition of data services including transactional updates Databases and data services resources are easily made available for reuse Data access is configured, not coded, to save time and cost 18
In order to be successful a move to SOA imposes Best Practices Methodology Agility is key Co-existence and integration with previous architectures is important Continuous move and architecture flexibility New products Service Metadata standard and repository Topology, cartography, taxonomy of SI Orchestration, Composition Scalable and transactional heterogeneous data access / integration
O/R mapping is necessary but not sufficient SOA plays a fast-growing role Disconnected mode is imposed by Web Services Dynamic mapping (mapping of unknown models) Emerging SDO standard Mainframes are still there for long Service-oriented versus Database-oriented data sources Production constraints are important Need for optimization features Need for dedicated & configurable administration console Enterprise Information Management New tools to access Services are required Integration of Heterogeneous Data Sources Transactional and Scalable Virtual Federation of Data, Metadata Hub Towards a Data Access Server (*) Ted Friedman, Gartner, January 2005
InfoQ: Incorporating Enterprise data into SOA (Nov. 2006) The 451 Group study (Dec. 2006) Integration has to re-invent itself Metadata is seen as more and more critical Proprietary EAIs evolves into standardized ESB EII (XML or SQL) is nice for reporting Mostly read-only, does not fit with requirements of transactional Composite Applications Services bring flexibility but won’t replace databases Mix SOA and J2EE/.Net, databases and services Services as business interfaces in front of databases are new data providers Manually calling thousands of services will quickly become unmanageable Composition/aggregation of fine-grained data services Static versus dynamic (coded versus configured) SOA, Integration and Persistence are merging Composite Applications and BPM require intermediation 21
22 Source: GCR 2006
SOA introduces a new layer Bringing more Flexibility and allowing to do more At a cost: Complexity & Scalability Decreasing Agility Intermediation makes SOA easier and better Features Ease 3-tiers SOA XIC
XIC DAS Component model: Services & Objects (POJOs) 5-tier architectures, the data & service intermediation server Virtual federated data sources Metadata, repository, dynamic adaptive composition Business Logic GUI Business Model Intermediation Services Business Process
25
26 odbms xml rdbms Disconnected Data-oriented Business Model (XML, SDO…) Connected Object-oriented Business Model EII ORM
27 Xcalia IC Transactions Queries Cache Metadata Transformations Business semantic RDBMS, XML… … cust = order.getCustomer(); cust.setStockSymbol(“C1”); … SQL… SOAP, JCA… Customer ? Transparent delegation to Xcalia intermediation Dynamic selection of the best sequence of services to call Connected object model (POJO): Transparent, unified & standardized access to databases and data services. order
Client applications (Java,.Net, BPEL…) are manipulating enterprise information through the Xcalia Data Access Service (DAS). This is a generic Web service, giving dynamic access to enterprise information (SDO, XML…) in a disconnected model through mapping with a published business model. 28 Xcalia DAS RDBMS, XML… SQL… SOAP, JCA… Explicit calls to the remote Xcalia Data Access Service Generic Xcalia Data Access Web Service Standard Xcalia IC mapping
30 RDBMS XML ODBMS
WS 31 Applic.
32 Convergence of Integration and Persistence for Composite Applications in SOA
High-level coarse- grained Business Services Mngt Approval 33 Create Account Validate Compute Loan Fine-grained Data Services Orchestration Dynamic composition
A unique approach to integration in a SOA world Dynamic and adaptive Maps the application business model to all data sources, support for MDA Provides unified, standardized and transactional access to heterogeneous data sources DBMS, XML, Web services, mainframes transactions, packaged applications… Dynamic composition provides transactions (updates) at runtime Extended metadata defines data services, where they are and what they are doing Less coding, easily create composite applications Fits easily into existing infrastructure Non-intrusive into systems, applications or resources Extends traditional integration solutions to SOA Mix SOA and non-SOA, J2EE and.Net Migrate incrementally 34 Business Logic
35
Xcalia Intermediation Core 5 Universal Mapping Engine, Engine Trigger, Custom Mappers Transaction Management, distributed Queries, Caches JMX administration POJO client (JDO2 now, JPA2 later) Default DBMS mapper: RDBMS, XML, ODBMS (Versant), Jalisto Xcalia DAS DAS Server implementation: local and remote protocols (Axis2 or JAX-WS 2) SDO / DAS clients Java and.Net (including LINQ), static and dynamic APIs Mappers Data Services: Web Services, mainframe transactions, packaged applications, JMS, Components (EJB), Java Framework for mapping non-structured data (XML, COMMAREA, Stored Procs) Xcalia Studio 5 Navilis (testing tool) Jalisto A fast & light 100% Java data store for embedded applications Contributed to ObjectWeb as open source 36
37
38 Web Service Connections Data Cache Transactions Dist. Queries Mapping XIC Server layer XIC Client Network layer JDO SDO Mappers Invokers Metadata DAS Administration (JMX) Mainframes, Stored Procs, Applications, Components Dyn. Compos.
Wizards for the 3 typical approaches Top-down, Bottom-up and Meet-in-the-middle Wizards Make-persistent wizard Auto-mapping feature (based on lowest vocal distance) Mix of 3 configurable algorithms Reverse engineering of existing database schema Configurable generation of Java source code Optional enrichment of incomplete database models Define Schema tools with schema evolution, SQL output, etc. Navilis Testing tool Persistent object model browsing (CRUD, queries, business methods) Multiple mapping files Works for ORM and OSM (object to service mapping)
© 2007 Microsoft France Votre potentiel, notre passion TM