Скачать презентацию Nin Jo — Frameworks Applications and Release Distributions Скачать презентацию Nin Jo — Frameworks Applications and Release Distributions

8a4858ce8abe2cb2ed889077277d8e11.ppt

  • Количество слайдов: 39

Nin. Jo - Frameworks, Applications and Release Distributions Development and Software Process Sibylle Haucke, Nin. Jo - Frameworks, Applications and Release Distributions Development and Software Process Sibylle Haucke, DWD EGOWS 2004 - Potsdam EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Overview n Part 1 : Nin. Jo frameworks and applications 4 Nin. Jo architecture Overview n Part 1 : Nin. Jo frameworks and applications 4 Nin. Jo architecture 4 Nin. Jo frameworks overview (reminder) 4 Nin. Jo frameworks - new features and extensions 4 Building client applications with Nin. Jo n Part 2: Nin. Jo software process and release distribution 4 How to organise the work in teams distributed in Europe and Canada ? 4 Software development process and quality management 4 Nin. Jo going productive : preparation of release distributions EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo architecture EGOWS 2004, Haucke, Nin. Jo frameworks and DWD Nin. Jo architecture EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo architecture n 3 main tiers : client, server, middleware n client tier: Nin. Jo architecture n 3 main tiers : client, server, middleware n client tier: 4 Nin. Jo client (GUI) 4 Nin. Jo batch client n server side: data servers and services 4 event service 4 authentication service 4 import (data+products) 4 export (products) 4 monitoring and alerting n server side: science modules 4 OOG (guidance's) : under construction 4 cell/storm detection (planned) EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo frameworks overview n Nin. Jo is a building kit and a collection Nin. Jo frameworks overview n Nin. Jo is a building kit and a collection of applications as well n it consists of: 4 Frameworks on the one hand 4 Applications : independent windows or integrated components (Layers) on the other hand, with or without GUI (batch) 4 Applications use the frameworks and must follow unique design rules 4 Applications are special in respect to their special (main) data type, window layout, event handling and controlling (event based, time controlled, . . ) 4 Applications provide Gui components and concrete graphical representations of data 4 Frameworks itself use Nin. Jo frameworks EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo frameworks overview n The connection between frameworks, base implementations and runnable applications Nin. Jo frameworks overview n The connection between frameworks, base implementations and runnable applications is the configuration 4 Configuration (XML) is the construction draft for the building kit 4 barely imaginable, how many variants of Nin. Jo applications are possible 4 Nin. Jo is configuration driven: 4 Nin. Jo can start with one window, containing several maps or with just a window containing a Meteogram, as well as with lots of windows on several displays - only a question of the used configuration EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo frameworks overview n What do we call a framework in Nin. Jo Nin. Jo frameworks overview n What do we call a framework in Nin. Jo context? 4 A separate software module (or sub tier) inside Nin. Jo client 4 Similar to a software library or API 4 Consists of interfaces and base classes 4 Based on other Nin. Jo frameworks and existing JAVA classes 4 Is used by several applications inside Nin. Jo 4 Implementation of the frameworks is most generic 4 They are configurable themselves (even the configuration manager) n How to ensure the usability of the frameworks? 4 follow the OO design patterns and standards 4 configurability with XML 4 template pattern for compatible applications 4 MVC pattern for PAC agents 4 backward compatible extensions and changes EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo frameworks overview n 3 kinds of frameworks n common : used by Nin. Jo frameworks overview n 3 kinds of frameworks n common : used by client and server applications 4 configuration 4 error handling and logging 4 Id (unique identifications for data types, elements. . ) 4 i 18 n 4 client access layer (data access) 4 math (algorithms, projections) 4 communication 4 units 4 concurrency (threads) EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo frameworks overview n server : only used on server side 4 basic Nin. Jo frameworks overview n server : only used on server side 4 basic server implementation 4 import system n client : only used on client side 4 PAC (Presentation Abstraction Control: the building kit for client applications) 4 PAC basic framework 4 derived : Layer framework 4 derived : diagram framework 4 derived : application (Toplevel) framework 4 GOF (graphical objects factory) : 2 d, 3 d graphics, several devices 4 vislib and visualizers : technical visualisation 4 GUI standard components EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client frameworks - new features n PAC (Presentation-Abstraction-Control) 43 level agent hierarchy Nin. Jo client frameworks - new features n PAC (Presentation-Abstraction-Control) 43 level agent hierarchy – Bottom. Level (Layers) – Intermediate level (diagrams, charts, layercontainer) – Toplevel : applications like: Mainwindow, Cross. Section, Single. Scene – different implementations of each level possible – GUI of the client is composed by the Views of the agent hierarchy recursively 4 layout management for batch products and printouts 4 properties and base configuration - see PAC diagram framework 4 multithreading support (Nj. Job) 4 support for creation of Toplevel Agents (= Applications) EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client frameworks - new features n client access layer (client/server-communication) 4 jar Nin. Jo client frameworks - new features n client access layer (client/server-communication) 4 jar file service 4 data cache n cache API 4 sharing data between components 4 faster data access 4 less memory 4 configurable n GOF 4 unified GOF : usage of 2 D/3 D now transparent 4 same methods and classes for 2 d and 3 d 4 animated canvas for animations 4 exportable canvas for export of graphic to file formats (Post. Script) 4 overlay functionality added (for the dragging of objects) EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client frameworks - new features n GUI 4 form layout usage (JGoodies) Nin. Jo client frameworks - new features n GUI 4 form layout usage (JGoodies) 4 standard components: 4 JFont. Chooser 4 Input fields 4 spinner button 4 Color. Chooser n Editing of data 4 modification 4 deletion 4 write back to the server or file system EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo server frameworks - new features n new: export system 4 generic 4 Nin. Jo server frameworks - new features n new: export system 4 generic 4 trigger, reader, writer n Zip/Jar as virtual filesystem - useful for 4 Met. Objects server 4 Configuration server n under construction 4 Nin. Jo Naming Service 4 introduction of authentication, authorisation 4 event service EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

framework changes- avoid migration effort n architectural principle: separation of concerns n change the framework changes- avoid migration effort n architectural principle: separation of concerns n change the fwk’s backward compatible n use interfaces for decoupling of objects n “extensions” for PAC 4 we invented the “extensions” for PAC 4 editing extension 4 cross section extension 43 d extension 4 add new functionality to frameworks without migration effort for the applications 4 only those applications, which want to contribute to the extension, have to implement something EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n What is a “client application” in Nin. Jo? 4 Nin. Jo client applications n What is a “client application” in Nin. Jo? 4 a collection of classes and configurations 4 can be aggregated to an existing application (if Bottomlevel or Intermediatelevel) or act as a standalone application (if Toplevel) 4 can aggregate other components 4 has an own configuration 4 can be installed separately 4 Nin. Jo can start with only one or with more Toplevel application(s) n How to create a “client application” in Nin. Jo? 4 use the frameworks 4 derive from basic applications 4 implement the special part (visualisation, data container classes) 4 follow the architectural patterns and templates 4 create a configuration EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n client (Ninjo. Main) configuration example <? xml version= Nin. Jo client applications n client (Ninjo. Main) configuration example EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n layers 4 Geovector 4 Georaster layer 4 Surface layer Nin. Jo client applications n layers 4 Geovector 4 Georaster layer 4 Surface layer 4 upper air layer 4 Satellite layer 4 Radar layer 4 SCIT 4 Grid layer 4 Flow layer 4. . EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n toplevel applications (secondary windows) 4 Simple. Meteogram EGOWS 2004, Nin. Jo client applications n toplevel applications (secondary windows) 4 Simple. Meteogram EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n toplevel applications 4 Auto. Mon : Monitoring and Event. Nin. Jo client applications n toplevel applications 4 Auto. Mon : Monitoring and Event. Service (draft) EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n toplevel applications 4 Single. Scene EGOWS 2004, Haucke, Nin. Nin. Jo client applications n toplevel applications 4 Single. Scene EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo client applications n Main. Window (Toplevel) and 2 D-Layer. Container EGOWS 2004, Nin. Jo client applications n Main. Window (Toplevel) and 2 D-Layer. Container EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Overview n Part 1 : Nin. Jo frameworks and applications 4 Nin. Jo architecture Overview n Part 1 : Nin. Jo frameworks and applications 4 Nin. Jo architecture 4 Nin. Jo frameworks overview (reminder) 4 Nin. Jo frameworks - new features and extensions 4 Building client applications with Nin. Jo n Part 2: Nin. Jo software process and release distribution 4 How to organise the work in teams distributed in Europe and Canada ? 4 Software development process and quality management 4 Nin. Jo going productive : preparation of release distributions EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n Tools 4 source code Nin. Jo - management of work in distributed teams n Tools 4 source code management : Perforce 4 document storage : Perforce 4 IDE’s : Eclipse, Netbeans, Intelli. J - question of taste 4 build and class generation support : Ant 4 bug tracking system (Bugzilla) 4 design tools: Together 4 static code analysis: Together 4 dynamical analysis: JProbe 4 test tools: JUnit, JTest EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n Tools - Perforce for Nin. Jo - management of work in distributed teams n Tools - Perforce for source and document depot EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n Tools - IDE, e. Nin. Jo - management of work in distributed teams n Tools - IDE, e. g. : Eclipse, Intelli. J or Netbeans EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n Tools - Apache Ant Nin. Jo - management of work in distributed teams n Tools - Apache Ant 4 generating of JAVA classes for i 18 n, configuration and CORBA 4 supporting the build process 4 compiling the JAVA classes 4 creation of JAR - files 4 generating of installation scripts from templates 4 generating of run scripts for servers and client from templates 4 see http: //ant. apache. org/ EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n Tools - Bugzilla : Nin. Jo - management of work in distributed teams n Tools - Bugzilla : Bug tracking system EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n rules 4 well defined Nin. Jo - management of work in distributed teams n rules 4 well defined and documented software development process 4 starting with requirements specification for each component 4 Design document for each component 4 review process (and meetings) for documents and code 4 QM measurements 4 well defined software architecture , package structure and distribution of work 4 naming conventions : JAVA packages and Perforce labels 4 code freeze dates : for frameworks first, for applications later 4 branching the code lines after a release to ensure bugfixing possibility EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n framework and API development Nin. Jo - management of work in distributed teams n framework and API development 4 developed by the best educated team members, supported by consulting 4 several locations develop frameworks, server or infrastructure components 4 locations, developing a framework, simultaneously develop at least one application ( to test the framework and to understand the application developers) 4 framework developers need tight contact to each other n communication 4 regularly CD meetings : meeting of all local chief designers 4 report of locations, planning the next steps and discussing / deciding architectural solutions 4 telephone conferences 4 emails EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo - management of work in distributed teams n application development 4 each Nin. Jo - management of work in distributed teams n application development 4 each location team develops “his” components: 4 as few interfaces between the locations as possible to let the teams work independently as long as possible 4 full responsibility on all aspects of a component (e. g. layer), from data import on server side up to the visualisation 4 JAVA package structure : 4 if possible, only one team should develop inside one JAVA package 4 avoid “crossing” development n education 41 week developers training, prepared by architecture team (CD) and framework developers (once a year) 4 train the usage of frameworks 4 train the usage of the tools 4 remind the software development process and quality standards EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo Software development process and QM n 4 phases of software development process Nin. Jo Software development process and QM n 4 phases of software development process EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo Software development process and QM n Quality management starts with the documents: Nin. Jo Software development process and QM n Quality management starts with the documents: n scheduling of QA tasks, 8 steps/measures 41. requirements document 42. test case description 43. design document 44. code review 45. static analysis 46. performance analysis 47. test case results 48. JAVA Help EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Nin. Jo Software development process and QM n Realisation with continuos QM Code. Review. Nin. Jo Software development process and QM n Realisation with continuos QM Code. Review. xls EGOWS 2004, Haucke, Nin. Jo frameworks and Code. Audit. xls Code. Dynamical. Anal ysis. xls DWD

Nin. Jo Software development process and QM n QM - the final tests Code. Nin. Jo Software development process and QM n QM - the final tests Code. Review. xls Test. Cases. Results. doc Code. Audit. xls Code. Dynamical. Analysis. xls Release-label EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Preparing a release- working steps n code freeze : 4 each location: 4 check Preparing a release- working steps n code freeze : 4 each location: 4 check in the last changes 4 create the Rf. A- labels for frameworks and all applications: responsible are the distributed teams n integration phase 4 integration team: 4 synchronize the Rf. A labels in the predefined order 4 test the correctness of the labels 4 try the build process – build all client and server applications 4 create the Release label n Release label available EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Preparing a release- working steps n Perforce - synchronizing the Release label n Eclipse/Intelli. Preparing a release- working steps n Perforce - synchronizing the Release label n Eclipse/Intelli. J/Netbeans. . : run Ant script 4 select the “DVD” target 4 wait 5 minutes n find on the disc: DVD 1 and DVD 2 directories, containing: 4 whole Nin. Jo software for server and client 4 whole configuration 4 installation scripts 4 templates for run scripts n copy the Geo data and (if needed) demo data n copy a JRE (JAVA runtime environment), inclusive extensions (third party Jar-files) n create the DVD images n burn the DVDs EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Preparing a release- working steps n automated release building with Ant EGOWS 2004, Haucke, Preparing a release- working steps n automated release building with Ant EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Installing a Nin. Jo release n directly from the DVD n Client 4 GUI Installing a Nin. Jo release n directly from the DVD n Client 4 GUI driven : 4 just input the target directory 4 input the server name for live server 4 fully automated installation starts n demo servers 4 GUI driven : 4 just input the target directory 4 fully automated installation starts n for live server installation additionally 4 some manually configuration needed 4 configure the data import and delivery EGOWS 2004, Haucke, Nin. Jo frameworks and DWD

Installing a Nin. Jo release n release 0. 8 : beanshell, Ant 4 beanshell Installing a Nin. Jo release n release 0. 8 : beanshell, Ant 4 beanshell for customisable installation procedure and run scripts 4 see http: //www. beanshell. org/ 4 just correct the root folders and click “install” n release 0. 9 : Iz. Pack, Ant 4 Iz. Pack for customisable installation procedure 4 see http: //www. izforge. com/izpack/ EGOWS 2004, Haucke, Nin. Jo frameworks and DWD