Eclipse democamp 01122010

878 views

Published on

Developing an IDE for testing services and mainframe applications.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
878
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • My name is Steen Brahe and I work at Danske Bank with technological innovation in development tools.I this talk I will present how we use
  • Eclipse democamp 01122010

    1. 1. Developing an IDE for testing services and mainframeapplications<br />Steen Brahe<br />Innovation Specialist<br />1/12 2010<br />stbr@danskebank.dk<br />Eclipse Democamp Copenhagen 1/12 2010<br />
    2. 2. Problem<br />1000 host developers using PL/1 and COBOL<br />1500 developers using ”web” services<br />How do wemake unit and integration test of our programs?<br />01-12-2010<br />
    3. 3. Market<br />No software tools for writing unit and integration test of PL/1 and COBOL<br />Severaltools for testing web services<br />IBM Rational Service Tester for SOA quality<br />SOAPUI (opensource and freeware)<br />HP Service Tester<br />Possible to expose a Host program as a web service<br />Wecanuse a web service test tool for unit test<br />WeevaluatedIBMstool<br />Strong at web services<br />Host developers found it toodifficult to workwith<br />01-12-2010<br />
    4. 4. Solution<br />Developourown unit test tool for testing COBOL and PL/1 programs as well as ”web” services.<br />Developer creates a test script as a plain file in the workspace<br />Test script supports<br />Select data from DB2 tables<br />Invoke ”web” service and COBOL and PL/1 programs<br />Useresponse data from oneinvocation as request data for anotherinvocation<br />Validateresponse data and complete script execution<br />Defining data constants<br />Looping over data<br />Sending and receiving MQ messages<br />…<br />01-12-2010<br />
    5. 5. History<br />Wedeveloped a ”web” service test tool back in 2003-2004<br />At that time notoolsexisted<br />Usedinternally in fewprojects<br />It has beenextended to support test of COBOL and PL/1 programs<br />Nowavailable for the completedevelopment organisation<br />Wearecurrentlyimproving the UI and support scheduling test execution<br />01-12-2010<br />
    6. 6. DEMO<br />01-12-2010<br />
    7. 7. Whythissuccess?<br />User driven innovation<br />Developedbasedon real userrequirements<br />Users in veryclosecontactwithdevelopment<br />Continuousimprovement<br />01-12-2010<br />
    8. 8. Behind the scene<br />Developedon top of basicEclipsetechnologies<br />Perspective, views, editors<br />XML and Xpaththrough JDOM<br />Eclipse Forms<br />EclipseModelingFramework<br />EclipseCompare<br />Eclipseextension points<br />JFaceTreeviewers<br />Future development<br />Report generation using BIRT or Apache FOP<br />OSGI based server<br />Integration with Jazz?<br />01-12-2010<br />
    9. 9. Conceptual solution<br />01-12-2010<br />ST Admin<br />Config & Script repository<br />Monitor and change<br />ST Developer<br />Language A<br />Language B<br />Upload<br />Read, execute and updatestate<br />SI SystAccessor<br />Schedule Server<br />SI TestAccessor<br />Language A<br />ExecutionEngine<br />Language B<br />SI SystAccessor<br />SI TestAccessor<br />ExecutionEngine<br />Scheduler<br />
    10. 10. Technical solution - BasedonEclipsetechnologies<br />Common metamodels<br />01-12-2010<br />CDO repostory & server<br />ST Admin RCP client<br />ScriptConfigEcore model<br />ST Developer Eclipseplugins<br />OSGi Schedule server<br />Log Ecore model<br />Quartzscheduler<br />ExecutionListenerinjection<br />Extension points<br /><ul><li>IValidator
    11. 11. IParser
    12. 12. IInterpreter</li></ul>ConfigExecutionEngine<br />OSGi Services<br />ConfigAccessor<br />STL<br />SSEL<br /><ul><li>XML based
    13. 13. ”old” service tester</li></ul>SI Test Service<br />SI Syst Service<br />STL Ecore model<br />SSEL Developer plugins<br />STL Developer plugins<br />

    ×