290 likes | 553 Views
bWise – EAI Framework. Anurodh Srivastava Shalin Shekhar Mangar JSS Academy of Technical Education, Noida, India. Enterprise Application Integration. Enterprise application Software specialized in a particular area Inventory Financials Supply Chain Management (SCM)
E N D
bWise – EAI Framework Anurodh Srivastava Shalin Shekhar Mangar JSS Academy of Technical Education, Noida, India.
Enterprise Application Integration • Enterprise application • Software specialized in a particular area • Inventory • Financials • Supply Chain Management (SCM) • Customer Relationship Management (CRM) • Ecommerce • Sales Force Automation • Vendors • SAP • Oracle • Peoplesoft
Enterprise Application Integration • Business process/workflow • Smooth flow of data • Inventory • Financials • Supply Chain Management (SCM) • Customer Relationship Management (CRM) • Ecommerce • Sales Force Automation • Automation Vendors • Microsoft • IBM • Tibco
Enterprise Application Integration • Challenges in automation • Communication • Different input/output formats • Security • Multiple authentication/authorization schemes • Management • Multiple management/configuration
EAI Frameworks • Components • Communication • Enterprise Service Bus (ESB) • Message Oriented Middleware (MOM) • Security • Support for multiple security schemes • Management • Dependent on per application basis
Why bWise ? • Prohibitive costs • Vendor dependence • Lack of interoperability • Platform dependence • Need for consultants
How bWise helps ? • Prohibitive costs • Open Source & Free Software • Vendor dependence • Community Ownership • Lack of interoperability • Open Standards (see www.open-eai.org & www.oasis-open.org) • Platform dependence • Supports all platforms • Need for consultants • Powerfull development tools
Design Problems • Communication • Security • Platform Independence • Interoperability • Workflow description • High Throughput • Distributed Transactions • Management • Backup/Restore • Extensibility
Communication • Synchronous vs. Asynchronous • Polled • Platform independent • Document formats • Web Services • Transformations • Correlation
Security • Must support multiple schemes • Authentication • Authorization • Encrypted communication
Platform Independence • Multiple Operating Systems • Linux • Unix • Windows • Multiple programming languages • COBOL • C/C++ • Java • .NET
Interoperability • Applications • Competing tools • Formats • Languages
Workflow Description Format • Choices • An entirely new format • XLANG (used by Microsoft) • WSFL (used by IBM, Tibco) • BPEL4WS • Business Process Execution Language for Web Services • Emerging standard • Open (a w3c standard) • Endorsed by all vendors
High Throughput • High volume of data • I/O maybe more expensive than processing • Multiple processes • Hundreds of process instances
Distributed Transactions • Multiple business applications • Each containing multiple datastores • A distributed transaction scheme • Coordinate a transaction between applications • Abstract commit/rollback support if available • Provide notification model • Error logging
Management • Configuration • Logging • Notification • Messaging • Data Storage/Retrieval • Monitoring • Per business process • Present status • History • Statistics • Throughput • Transactions
Backup/Restore • Backup Scheme • Business process data dump • Transaction logs • Restore Scheme • Crash recovery
Extensibility • Ability to support future enhancements • Message transport mechanisms • Transformation mechanisms • Security schemes
Design Decisions • Java • Advantages • Platform independent • Tried and tested for server applications • Downsides • I/O Performance • XML • Advantages • Platform neutral data format • Extensive support for interoperability • Downsides • Extra Overhead in processing
Design Decisions • Eclipse IDE • Advantages • Mature platform • Lesser learning curve for new developers • Open Source • Downsides • Increased development time • XSD (XML Schema Document) • Advantages • Platform neutral data description format (metadata) • Easier to work with than DTDs
Design Decisions • Message Queues • Advantages • Asynchronous processing • Guaranteed message delivery • Correlation • Concept of envelopes • Metadata tags • Aid in encryption/decryption • Security • Enterprise Single Sign-on • One username/password for multiple applications
Design Decisions • Code Generation • BPEL4WS vs. Java Code • Java Code provides better performance • Added complexity in code generation from business process models • Web Services • Support for all platforms • Data format independent (uses XML) • Asynchronous mode • Apache Axis
Components of bWise • Eclipse Development Tools (EDT) • Document Designer • Transformation Designer • Messaging Manager • Business Process Designer • Process Execution Engine • Message Transport Agents (MTA) • Pipeline Processors • Verification & Correlation Manager • Authentication Manager • Process Co-ordinator • Administrator Tools
Eclipse Development Tools (EDT) • Document Designer • Analyzes documents • Generates XSD • Manipulate XSD • Transformation Designer • Analyzes XSDs • Generates Mapping Code (XSLT or Java) • Messaging Manager • Creation of Pipelines • Business Process Designer • Visually draw process diagrams • Generate Code
Process Execution Engine • Message Transport Agents (MTA) • I/O Mechanisms • File • Web Services • Pipeline Processors • Transformers (document, encryption/decryption) • Verification & Correlation Manager • Authentication Manager • Enterprise Single Sign-on services • Cryptographic Services • Process Co-ordinator • Workflow execution engine
Administrator Tools • View & manage server database • Install/Uninstall MTAs • View & manage transaction logs • Backup/Restore schemes • Monitor alert notifications • Performance statistics
Key Problem Areas • A formal model for static analysis of a business process. • Code generation module for business process diagrams. • Optimization of memory usage for business processes containing long running transactions. • An efficient scheduling algorithm for monitoring business process executions. • A publish-subscribe model (akin to event dispatch model in java) for outcome notifications.
Future Directions • Not just a final year project • Aims to be a stable open source software • Hopes to make a dent in EAI tools market. • Future development directions • Support for more MTAs • Support for Legacy code (Screen Scraping) • Load Balancing • Segregation of components into independent execution units
Anurodh Srivastava Shalin Shekhar Mangar JSS Academy of Technical Education, Noida, India. Thank You