OMG ARAP --The MDA Approach to to a Finance Web Service



Similar documents
EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.

A Categorization of Collaborative Business Process Modeling Techniques

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

All you need are models Anneke Kleppe, Klasse Objecten

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Usage of Business Process Choreography

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

OsEra Enterprise Service Bus

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Model-Driven Data Warehousing

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Business Process Modeling and Standardization

Enterprise Service Oriented Architecture Using the OMG SoaML Standard

Developing in the MDA Object Management Group Page 1

Business Rule Standards -- Interoperability and Portability

Agile Modeling and Design of Service-Oriented Component Architecture

Business Process Standards and Modeling

Foundations of Model-Driven Software Engineering

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Clarifying a vision on certification of MDA tools

4. Concepts and Technologies for B2C, B2E, and B2B Transaction

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

The Fast Guide to Model Driven Architecture

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Databases in Organizations

Applying MDA in Developing Intermediary Service for Data Retrieval

Introduction into Web Services (WS)

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Designing a Semantic Repository

Business Performance Management Standards

Guiding Principles for Technical Architecture

A standards-based approach to application integration

Enterprise Architecture at Work

WEB SERVICES. Revised 9/29/2015

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Model Driven Business Architecture. Pete Rivett CTO, Adaptive

Open XML Court Interface (OXCI) Architecture Proposal

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

FMEA: An executable services oriented enterprise architecture for financial management

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

F-16 Modular Mission Computer Application Software

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Revel8or: Model Driven Capacity Planning Tool Suite

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

BUSINESS PROCESS AND EBXML - WEB SERVICES INTEGRATION PLATFORM, REQUIREMENTS, ARCHITECTURES, SECURITY

SPML (Service Provisioning Markup Language) and the Importance of it within the Security Infrastructure Framework for ebusiness

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Business Process Modeling Notation Specification

Building Web Services with XML Service Utility Library (XSUL)

Information Management Metamodel

Production Rule Representation

Oracle SOA Reference Architecture

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Asset Based Development

ebxml Web Services & EDI

E-government Data Interoperability Framework in Hong Kong

Enterprise and Business Processes - How to Interoperate? The Standards View

Business Process Execution Language for Web Services

Developing Java Web Services

Policy Driven Practices for SOA

A Signing Proxy for Web Services Security. Dr. Ingo Melzer RIC/ED

Architectural Requirements for an SOA Based on Web Services. Jim Bole VP, Engineering Infravio, Inc. April 23, 2003

EDI legal aspects in Estonia

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Business Model Interoperability using Enterprise Model Integration

B2B Glossary of Terms

Transcription:

OMG ARAP --The MDA Approach to to a Finance Web Service Arne J. Berre, SINTEF (Arne.J.Berre@sintef.no) Todd Boyle, Morten Jacobsen, Netaccount (tboyle@rosehill.net, mortenjacobsen2000@yahoo.no) OMG GL and ARAP current standard and submissions Need for multiple platforms and support for XML (Finance community) Using MDA: PIM and PSM (EDOC and UML2.0), PIM and GSM Relating to GSMs: XBRL, EWG and ebxml Core Components Revised UML model: Using ebxml Core Components basic types PIM using the RM/ODP viewpoints Mappings to CORBA, Web services (WSDL), ebxml, J2EE/EJB Issues and experiences in PIM and PSM mappings What should be done next: PIM-PSM mapping standards/tools, HUTN XMI For the latest version of this presentation, see: www.arapxml.net Arne J. Berre 11

Arne J. Berre 22 OMG ARAP --The MDA Approach to to a Finance Web Service The OMG GL (General Ledger) specification has recently been proposed extended by an ARAP (Account Receivable- Account Payable) facility. The initial submission presented in November 2001, was done in the traditional OMG style with CORBA IDL, but the revised submission is currently being done following the MDA approach through the use of modeling concepts from UML for EDOC and input from the recent UML 2.0 proposals. The presentation will report on experiences and issues in doing the platform independent model, and targeting various platforms, including CORBA, J2EE/EJB, Web services with WSDL and ebxml.

OMG FDTF Planned Facilities AR/AP Arne J. Berre Accounting Facility 33

Arne J. Berre 44 Accounting Receivable/ Accounting Payable The Account Receivable/Account Payable (AR/AP) Facility defines the interfaces, and their semantics, that are required to enable interoperability between AR/AP systems and general ledgers, sales and purchasing systems, and other distributed objects and applications for accounting purposes. Extension to OMG General Ledger: Defines the interfaces, and their semantics, that are required to enable interoperability between General Ledger systems and accounting applications, as well as other distributed objects and applications for accounting purposes.

Arne J. Berre 55 General Ledger Interfaces Interface Purpose Primary Client(s) GLProfile Client Session Establishment All GL clients GLBookKeeping Data entry Data entry clients GLRetrieval Data extraction Reporting clients GLAccountLifecycle Account lifecycle management GL administration clients GLIntegrity Data integrity checks GL administration clients GLFacilityLifecycle GL lifecycle management GL administration clients GLProfile GLFacilityLifecycle GLAccountLifecycle <<client>> Accounting Component GLRetrieval GLBookKeeping GLIntegrity

GL Facility - Reference Architecture GL Client (n) GL Facility Profile (n) Book Keeping GL Facility Arbitrator Interface Retrieval Ledger Lifecycle Selected General Ledger Profile (n+1) Integrity GL Client (n+1) Facility Lifecycle... one or more GL clients makes a request for a new GL client session from the GL Facility s Arbitrator interface. If successful, the GL Arbitrator returns a GL Profile interface which provides information about the current session, as well as making provision for controlled access to the various interfaces and operations supported by the GL Facility. Arne J. Berre 66

ARAP RFP Systems which generate sales (receivables assets) Systems which generate purchases (payables liabilities) A2A integration Settlement systems (systems which mediate interparty exchanges of value) (e.g. bank to supplier) Post Post AR/AP Ledger Reporting Systems Consolidations with ARAP ledgers or General Ledgers Arne J. Berre 77

Arne J. Berre 88 Structure UML for EDOC Chapter 1 - Response to RFP Part II - Examples & Technology Mappings Chapter 2 - EDOC Rationale & Use Chapter 6 - UML Profile for MOF Chapter 4 Patterns Chapter 3 - ECA Section 1 - ECA Rationale Section 6 - Relationships Chapter 5 - Technology Specific Models Section 1 - EJB and Java Metamodels Section 3 - Entities Section 4 - Events Section 2 - FCM Section 2 - CCA Section 5 - Processes

UML for EDOC and UML 2.0 - protocols Identify a community process, the roles and interactions Using CCA Notation BuySell CommunityProcess Buyer Seller Buy Delivery Sell Ship Shipper Delivery Ship Arne J. Berre 99

Arne J. Berre 10 10 Component structure <<Protocol>> BuySellProtocol Component structure Defines the outside Contract of a component <<ProtocolPort>> <<ProtocolPort>> <<ProcessComponent>> <<initiates>> Buys Sells Buyer (from Buyer) (from Seller) <<responds>> <<ProcessComponent>> Seller Buyer Buy Sell Seller

Arne J. Berre 11 11 Using RM-ODP viewpoints Enterprise viewpoint (CCA, Business Processes, Entities, Relationships, Events) Part I: ECA Information viewpoint (Entities, Events, Relationships) Computational viewpoint (CCA, Entities, Events) Part I:Technology Specific Models Engineering viewpoint (Technology abstraction: FCM) Part II: ECA to technology mappings Technology viewpoint (UML for J2EE/EJB/JMS, CORBA 3/CCM, COM, SOAP, ebxml) Part I: Patterns - applied to all viewpoints

Arne J. Berre 12 12 PIM related to PSMs and GSMs GSMs XBRL UN/CEFACT EWG Group Specifc models OMG Business Domain OAG PIM Platform Independent Model PSMs Platform Platform Specific models CORBA Web Services ebxml J2EE/EJB MS.Net FW

Arne J. Berre 13 13 Which basic type system for PIM? UML for EDOC uses proposal for MOF 1.4 Also need for a library of business types i.e. CBO Common Business Objects - OMG has some of those defined with IDL Other groups has proposed domain based (generic) type systems, i.e. ebxml Core Components, HL7 Health, ISO 19103 (GIS), and their description ISO 11179

Arne J. Berre 14 14 XBRL Extensible Business Reporting Language (XBRL), formerly code-named XFRML, is an open specification which uses XML-based data tags to describe financial statements for both public and private companies. XBRL benefits all members of the financial information supply chain. Public draft XBRL for General Ledger (XBRL GL) Summary: The XBRL GL, a way to represent the information that comes into and out from the General Ledger in the international sense www.xbrl.org

ebxml Core Component Types Arne J. Berre 15 15

Enterprise viewpoint Arne J. Berre 16 16

Arne J. Berre 17 17 Accounting Patterns & GL/ARAP OK 1: Single-Entry Bookkeeping OK 5: Accounting Periods 9: Accounts Receivable/Payable OK OK 2: Double-Entry Bookkeeping Japan =/ west 6: Profit & Loss 10: Dimensions OK by rep. codes 3: Account Hierarchy out 7: Standard Chart of Accounts 11: GL Roll-up out Japan =/ west 4: Balance Sheet Doc.ref 8: Voucher Reference 12: Profit & Loss Roll-Up Need hierarchy (impl)

Information viewpoint Arne J. Berre 18 18

Arne J. Berre 19 19 ARAP Transactions and Entry using ebxml Core Component Types

ArapAccountHistoryRetrieval + getaccounthistorybydates() + getaccounthistorybyperiods() ArapAccountLifecycle + createaccount() + createpartyaccount() + createproductaccount() + modifyaccount() + removeaccount() ArapTransactionRetrieval + getjournal() + getunpostedtransactions() + gettransactionsbydates() + gettransactionsbyperiods() + getunsettledtransactionsbyduedates() + getunsettledtransactionsbyaccount() ArapPartyStatementVerification + getstatementbyaccount() + reversestatement() + reversestatementfromparty() + verifystatementfromparty() ArapTransactionLifecycle + enterjournal() + postjournal() + posttransactions() + removejournal() + removetransactions() ArapAccountRetrieval + getaccount() + getaccountsbytype() + getpartyaccount() + getpartyaccountbypartyid() + getpartyaccountbypartynumber() + getpartyaccountsbytype() + getproductaccount() + getproductaccountbyproductid() + getproductaccountbyproductnumber() + getallproductaccounts() ARAP ArapReconciliationRetrieval + getreconciliation() + getreconciliationsbyentry() ArapArbitrator + getarapledgernames() + opensession() Computational viewpoint ArapBalanceRetrieval + getaccountbalancebydate() + getaccountbalancebyperiod() + getaccountbalancesbytypeanddate() + getaccountbalancesbytypeandperiod() + getaccountbalancesumbytypeanddate() + getaccountbalancesumbytypeandperiod() + getunsettledbalances() ArapReconciliationLifecycle + createreconciliation() + modifyreconciliation() + removereconciliation() ArapFacilityLifecycle + createarapledger() + removearapledger() ArapProfile + getarapaccounthistoryretrieval() + getarapaccountlifecycle() + getarapaccountretrieval() + getarapbalanceretrieval() + getarapreconciliationlifecycle() + getarapreconciliationretrieval() + getaraptransactionlifecycle() + getaraptransactionretrieval() + getarapledgercurrency() + getentrytypes() Arne J. Berre + closesession() 20 20

Engineering viewpoint How much of this to specify in a PIM? Security Access: Authorisation and Authentication (i.e. Integrating with PKI) Logging Distribution transparencies Internationalization Arne J. Berre 21 21

Technology viewpoints CORBA Web Services (WSDL) ebxml J2EE/EJB (MS.Net Framework) Arne J. Berre 22 22

Arne J. Berre 23 23 CORBA PSM - Journal, Transaction, Entry <<CORBAStruct>> ArapTransaction group_id : FdARAP::Typedefs ::GroupId group_status : wstring is_posted : boolean init iat ing_document_type : ws tring transact ion_info : FdGeneralLedger:: TransactionInfo user : wstring 1 +arap_entries 2..n <<CORBAStruct>> ArapEntry +transactions n 1 <<CORBAStruct>> ArapJournal

Arne J. Berre 24 24 CORBA PSM - ArapTransactionLifeCycle ArapTransactionLifecycle enterjournal(journal : in FdARAP::Structs::ArapJournal) : FdARAP::Typedefs::JournalId postjournal(journal_id : in FdARAP::Typedefs::JournalId) : void posttransactions(transaction_ids : in FdGeneralLedger::TransactionIdList) : void removejournal(journal_id : in FdARAP::Typedefs::JournalId) : void removetransactions(trans action_ids : in FdGeneralLedger::TransactionIdList) : void

XML Complexity of using XMI We need to be able to generate an XML representation that is looking similar to the handcrafted XML that is being made in the finance community I.e the UML HUTN in XML form for data exchange, not for model exchange Will XMI 2.0 be able to do that? This is under investigation Arne Is J. Berre this improved for XMI 2.0? 25 25

XML Schema Basic core core component <xsd:complextype name="glentry.details"> <xsd:annotation><xsd:documentation> Information about a monetary amount or valuation of an economic event or accountant's adjustment, affecting an accounting entity. </xsd:documentation></xsd:annotation> <xsd:sequence> <xsd:element name="glledger.id" type="glledger.id" minoccurs="0"/> <xsd:element name="glledger.name" type="glledger.name" minoccurs="0"/> <xsd:element name="gl.transactionid.text" type="gl.transactionid.text" minoccurs="0"/> <xsd:element name="gl.groupid.text" type="gl.groupid.text" minoccurs="0"/>.. <xsd:complextype name="tax.amount"> <xsd:annotation><xs:documentation> The amount of tax. </xsd:documentation></xs:annotation> <xsd:sequence> <xsd:element name="amount.content" type="xs:decimal"/> <xsd:element name="amountcurrency.identification.code" type="xsd:string" minoccurs="0" maxoccurs="1"/> </xsd:sequence> </xsd:complextype> Arne J. Berre 26 26

Arne J. Berre 27 27 WSDL <!-- exceptions --> <xsd:complextype name="unknownledger"> <xsd:element name="error" type="xsd:string" /> <xsd:element name="bad_value" type="xsd:string" /> <!-- message types for BookKeeping interface --> <message name="post_transactioninput"> <part name="single_transaction" type="tns:transaction"/> </message> <message name="post_transactionoutput"> <part name="_return" type="tns:transactionid"/> </message> <message name="post_transaction_listinput"> <part name="transactions" type="tns:transactionlist"/> </message> <message name="post_transaction_listoutput"> <part name="_return" type="tns:transactionidlist"/> </message>

Arne J. Berre 28 28 WSDL <porttype name="bookkeepingport"> <operation name="post_transaction" > <input message="post_transactioninput"/> <output message="post_transactionoutput"/> <fault name="fault0" message="permissiondeniedfault"/> <fault name="fault1" message="badtransactionfault"/> </operation> <operation name="post_transaction_list"> <input message="post_transaction_listinput"/> <output message="post_transaction_listoutput"/> <fault name="fault0" message="permissiondeniedfault"/> <fault name="fault1" message="badtransactioninlistfault"/> </operation> </porttype>

ebxml PSM No inherent workflow for BPSS Business Process Specification, General Ledger/ARAP is log of Business Events Mapping to Business Transactions and Business Document and Messaging Arne J. Berre 29 29

J2EE/EJB PSM Use of JSR-26, UML profile for EJB <<EJBImplementation>> <<EJBSessionHomeInterface>> <<EJBRemoteInterface>> Arne J. Berre 30 30

Experiences and Issues Need to interact with relevant domain groups, and relate to group specific models Need to have a common basic type system + library of Core components (types) Need patterns for extension, customisation and flexibility support for context? Need to define principal communication principles (request vs notification oriented) when to describe synch/asynch (?) - Pass by value vs reference - vs copy/replication - Exception modeling vs alternative return messages - Synchronous vs Asynchronous modeling message/operation/event - Identifier (Reference) and CodeList specification and handling - Need standard model transformation rules from PIM to PSM Arne J. Berre 31 31

Conclusion and further work Platform Independent Models are feasible and useful Need to define a common set of basic types Would like to have tool support for the model transformation to platform specific models Next steps: Further harmonisation with domain groups (UN/CEFACT EWG meeting, Barcelona in March) Refining the PIM UML model and applying more detailed model transformations to PIM models for CORBA, Web Services, ebxml and J2EE/EJB Further information at: www.arapxml.net Arne J. Berre 32 32