160 likes | 269 Views
Ranjit Sahota Chief Architect Obsydian Development. Obsydian Component Model. Session Outline. OCM Project Goals OCM Architecture Overview OCM Demonstration OCM Summary OCM Futures OCM FAQ & Questions. OCM Project Goals. Support Component development in Obsydian
E N D
Ranjit Sahota Chief Architect Obsydian Development Obsydian Component Model
Session Outline • OCM Project Goals • OCM Architecture Overview • OCM Demonstration • OCM Summary • OCM Futures • OCM FAQ & Questions Obsydian OCM
OCM Project Goals • Support Component development in Obsydian • Support industry leading component models • Microsoft COM & Sun JavaBeans • OCM Project Phases • 1 Import and integrate COM components • 2 Implement COM components • 3 Import and integrate JavaBeans components • 4 Implement JavaBeans components • Leverage Patterns and components • Microsoft DNA and IBM San Francisco Obsydian OCM
Component Based Development • Objects are reused at the binary level ( Black Box) • Example component models are: • COM, JavaBeans, CORBA, Smalltalk Parts, VBX • Customization is done at runtime, programmatically using properties, methods and events • Meta data is accessed using standardized APIs • Each component model has different meta models and APIs to access the meta data • MS COM is most used model and defacto standard Obsydian OCM
Microsoft COM Overview • Defacto Industry Standard Component Model • MS Architectures and Technologies are COM based ( DNA, DNAFS, DAO, OLEDB, MSMQ, MTS, etc) • Binary, Language, Location Independent Model • Type Library API exposes COM meta data • Distributed Deployment & Runtime Polymorphism • COM components can be used from VB, VBA, VBScript, HTML and other COM environments • COM being ported to UNIX and AS/400 • COM + is new version of COM that provides more system level services for COM developers Obsydian OCM
Example Components • System Level Components • Microsoft OLEDB for Database Access • Microsoft Message Queue ( MSMQ) • Microsoft Cedar for Mainframe Access • Business Components • SAP R3 Business Objects • Microsoft Business Object Framework (BOF) • Microsoft DNA/FS ( Financial Services) Obsydian OCM
OCM Phase 1 Overview • VB ease of use and C++ generation performance • Obsydian Meta Model enhancements for COM • Integration of COM with Obsydian Design Models • Import COM components with COM Import Wizard (DAO, OLEDB, MSMQ, MTS, DirectX, etc) • View COM components in Repository & Browsers • Use COM components in Action Diagrams & Panels • New component based development capabilities • Generate Win32 C++ to implement COM apps • Patterns + Components = Large Scale Reuse Obsydian OCM
Meta Model Enhancements PKG component COM PKG interface INT Package Component COM implements INT Interface Field INT property FLD Function INT method FNC Obsydian OCM
OCM Architecture Overview COM Wizard Browser AD Editor COM TypeLibs COM+ Store MS Repository Repository Component Manager Panel Editor Java Beans Java Classes Java Bean Wizard Generators Diagrammer OMG CORBA RunTime Systems Architecture Diagram Obsydian OCM
OCM Design Notes • VB like syntax in AD with C++ generation • Event handling supported for non GUI components • Explicit control over component lifetimes • Automatic conversions between COM data types and Obsydian data types • Generation of C++ code to access Components • High speed access using COM vtable early binding • Automatic error handling ( HRESULT) Obsydian OCM
Action Diagram Enhancements Obsydian OCM
OCM Demonstration • Importing using the COM Import Wizard • Viewing components in Obsydian • Browser enhancements for components • Action Diagram enhancements for components • Panel Design enhancements for components Obsydian OCM
OCM Futures • COM component implementation from Obsydian • COM based pattern libraries for DNA and MTS • COM wizards to help develop components easily • JavaBeans integration into Obsydian • JavaBeans implementation from Obsydian • San Francisco pattern libraries for JavaBeans • UML Diagramming for COM and JavaBeans • Enhanced Browsing for COM and JavaBeans Obsydian OCM
OCM Summary • Component based development for Obsydian • COM components viewed and accessed from Obsydian repository as normal design constructs • Panel & AD can integrate and use COM components • Allows integration of “off the shelf” components • Patterns and components combination for increased productivity gains • Synon committed to component development • Patterns + Components = Large Scale Reuse Obsydian OCM
OCM FAQ & Questions • What’s the difference between OLE support and OCM? • What’s the difference between ActiveX support and OCM? • Can I generate my own COM components from Obsydian? • How do I find out more about COM and OLE Automation? • How do I find out more about VB and OLE Automation? • How does MTS support fit into the OCM picture? • How does Obsydian OCM inter-operate with CORBA? • What are the cross platform issues with COM? • How is component development different than ER? Obsydian OCM