14
Jožef Stefan Institute The New Abeans and CosyBeans Cutting Edge Application and User Interface Framework Igor Verstovsek ([email protected]), Janez Dovc, Miha Kadunc, Jernej Kamenik, Igor Kriznar, Gasper Pajor, Mark Plesko, Ales Pucelj, Gasper Tkacik Jozef Stefan Institute, Cosylab Ltd.

The New Abeans and CosyBeans

Embed Size (px)

DESCRIPTION

The New Abeans and CosyBeans. Cutting Edge Application and User Interface Framework. Igor Verstovsek ([email protected]), Janez Dovc, Miha Kadunc, Jernej Kamenik, Igor Kriznar, Gasper Pajor, Mark Plesko, Ales Pucelj, Gasper Tkacik Jozef Stefan Institute, Cosylab Ltd. - PowerPoint PPT Presentation

Citation preview

Page 1: The New Abeans and CosyBeans

Jožef StefanInstitute

The New Abeans and CosyBeans

Cutting Edge Application and User Interface Framework

Igor Verstovsek ([email protected]), Janez Dovc, Miha Kadunc, Jernej Kamenik, Igor Kriznar, Gasper Pajor, Mark Plesko, Ales

Pucelj, Gasper Tkacik

Jozef Stefan Institute, Cosylab Ltd.

Page 2: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 2

www.cosylab.com

Application Frameworks

• What are they good for? – Factor out shared functionality– Provide extension points– Try to insure high quality of the code

• Cosylab experience with application frameworks:– 6 years of continous development– Projects: ANKA, DESY, ESO, RIKEN, SNS,...

Need for a new designAbeans and CosyBeans

Release 3

Page 3: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 3

www.cosylab.com

Demonstration

Page 4: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 4

www.cosylab.com

Functionality Overview

Common•Automatic ANT builds

•Definition of Properties

Abeans•Models (Channel, BACI)

•Plugs (TINE, EPICS, ACS)

•Services (Configuration, Loaders, Debug,...)

CosyBeans•Utility components

•Adapters and Displayers

•Launcher, Engine, Plugins

Integration•User-friendly application building

Page 5: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 5

www.cosylab.com

Common

• Automatic builds– Using ANT build tool

• Definition of basic CS Specific interfaces– Property, Access, Monitor,...

• Utility classes for the Java platform

Page 6: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 6

www.cosylab.com

Abeans

• Models– Logical containment of CS Objects– Channel, BACI

1/2

• Plugs– Connection to remote modeling layer– TINE, EPICS, ACS CORBA

Device

Property 1

Property 2

Property 3

Channel 1

Channel 2

Page 7: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 7

www.cosylab.com

Abeans

• Services– Implementation of shared functionality– Error reporting, Logging, Debug,...

• Abeans are usually used by– Visualization libraries (CosyBeans)– Calculation packages (XAL,

OrbitCorrection)• Abeans are not a GUI framework

– Abeans prepare the data for visualisation

2/2

Page 8: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 8

www.cosylab.com

CosyBeans 1/3

• Utility graphics components

Page 9: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 9

www.cosylab.com

CosyBeans 2/3

• Adapters and Displayers– Lifecycle– Connection status– Data quality

• timeouts, errors, etc. Adapter

Displayer

Abeans

Infobus

...

Page 10: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 10

www.cosylab.com

CosyBeans 3/3

• Application Outline: CosyPanel and Launcher

Application

Applet

Internal Frame

Webstart

JVM Sharing

Page 11: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 11

www.cosylab.com

Integration of Abeans and CosyBeans

• Abeans Engine and Abeans Launchable– Facade Pattern

Simple Syntax

MinimalDemo

getEngine() getCurrent()

MinimalDemoEngine

Abeans

Page 12: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 12

www.cosylab.com

Quality Assurance

• The libraries are very well documented• Same core code is used everywhere

– Fix for one customer, enjoy everywhere• Automatic JUnit tests are used

– Run with every build• Request Tracker bug management tool• Plan: Automatic bug reporting

– Similar to Netscape or MS IE

Page 13: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 13

www.cosylab.com

Frameworks at Work

• Investment into the frameworks is large

• Frameworks must be widely used– the 3:1 rule

• Current Users– TINE

• Near Future Users– SNS, ESO, ANKA,

RIKEN,... Common

Abeans

CosyBeans

Integration

TINE

0,00

2,00

4,00

6,00

8,00

10,00

12,00

Product

Common

Abeans

CosyBeans

Integration

Together

TINE

SLOC Work Cost

7,343 1.58 my $ 213,000

26,715 6.30 my $ 851,000

44,931 10.54 my $ 1,423,000

4,214 0.91 my $ 122,000

83,203 20.76 my $ 2,804,000

14,120 3.22 my $ 435,000

Page 14: The New Abeans and CosyBeans

Jožef Stefan Institute

PCaPAC 2002 Igor Verstovsek, Abeans and CosyBeans 14

www.cosylab.com

Conclusion

• Advantages of Application Frameworks• Abeans and CosyBeans are mature• Frameworks are fun

– Much more fulfilling to write an application framework than it is to develop tons of similar applications

Thank You!