SlideShare a Scribd company logo
www.ontimize.com
Introduction Functional description Ontimize Ontimize More Ontimize ME Technical description Ontimize Plugin Contents www.ontimize.com
Software  cycles www.ontimize.com
IT “reinvents” itself every 10 years Distributed vs Centralized Interactive vs Accessible SME vs Software Factory Rapid Development vs “hand coding” Personalized vs Standard Software cycles www.ontimize.com
Integrated Rich Clients Rich user experience  Dynamic content Desktop application Not bound to a browser Full integration with web  Full integration with host  Ability to continue when disconnected Java Swing + Java FX Webstart Deployment Other main players too  Microsoft: Silverlight Adobe: Flex + AIR Google: Gears  Next Wave according to SUN (JavaOne 2007) www.ontimize.com
It’s very difficult to keep  up to date Commercial or “open-source”, there are just  too many technologies  to evaluate General purpose languages (Java, C++, C#) do  not offer enough productivity Programmers are forced to use a combination of languages, libraries and products that  do not integrate very well Software complexity www.ontimize.com The learning curve grows The quality of software decreases
Software complexity - example www.ontimize.com
Hand coding using general purpose languages is not productive and  error prone IDEs are helpful but still require  a lot of coding Frameworks provide a reusable design that  increases productivity  for a specific domain “ Standard”  frameworks  (JSF, EJB, Spring,…) and APIs address general issues. These can be combined and built upon to create a Development productivity www.ontimize.com higher level “corporate” framework
A declarative  framework   for developing interactive enterprise applications Based on standards  (Java and XML) Multiplatform  Interactive GUI Goal:  Simplify the use of technology Result:  Develop about 10 times faster What is Ontimize? www.ontimize.com * Under development Desktop Mobile Browser*
No need to develop your own  Framework  Increased development productivity Corporate IT strategy is implicitly introduced Improved software quality Simplifies the use of complex technologies  Tested Evolves (new features available on future and existing applications) Optimize your resources Advantages for your company www.ontimize.com
Rich user interface Internet technology Covers many needs of enterprise applications Based on well-known, standard technologies Designed for software engineers (i.e. Eclipse) Application definitions are stored in reusable programming language independent XML Open architecture and access to source code Flexible and attractive exploitation model Why Ontimize and not others? www.ontimize.com
The role of Ontimize www.ontimize.com Applications Integrated and tested functional modules Enterprise application development Framework JFreeReport, JFreeChart, iText, JEP… Weblogic, Websphere, iAS, JBoss, Glassfish Oracle, SQL Server, PostgreSQL, MySQL
www.ontimize.com Functional Description
Functional Description Ontimize Ontimize More Ontimize ME www.ontimize.com
www.ontimize.com Ontimize
General Structure Window menu Screen menu Button bar Forms Trees Status Bar General features Look & Feel preferences Language selection User customization Shortcuts configuration Application Structure www.ontimize.com
Login User / Password Smartcard (i.e. Digital ID Card) Access Control www.ontimize.com
Containers are elements used to structure the Form Ontimize uses a Dynamic Layout Strategy, automatically adjusting the position and the size of all the elements  You can add your own containers seamlessly Forms: Containers www.ontimize.com Containers Row Column TabPanel SplitPanel CardPanel More than 10 different containers to create any imaginable layout…
Fields are the elements that show information to the user Forms: Fields www.ontimize.com Text: Normal, HTML, spell-checker Date: Calendar ID codes Number, calculated, money Web, e-mail, hyperlink Selection: combo (drill-down), code/description, list Image, charts More than 40 different fields to handle any data type
Supports common image formats Allows capturing from TWAIN compatible devices Photo tools: magic wand, contrast, focus, … Store in database or file system Forms: Fields: Image www.ontimize.com
Shown in form or separate window Line, Bar, Pie and 3D graphs  Multiple series and time series graphs Print, export, zoom, etc. Forms: Fields: Charting www.ontimize.com
Display the information in a table Lots of default features: Copy & paste to Excel, Clipboard Export to Excel, HTML Printing from the table Charting from the table Reporting from the table Multiple column sorting and filtering Quick filter Advanced Filtering Filtering, sorting and other operations executed in memory to improve performance Forms: Tables 1/2 www.ontimize.com
Column grouping with aggregate functions: Sum, average, maximum, minimum Column visibility, position and width configuration Store and recover filtering, sorting, grouping and configuration options, in the server Pivoting feature in OLAP style Inserting data straight from the table Pageable table Forms: Tables 2/2 www.ontimize.com
Using the data from any table The user selects x, y and graph type  Temporal series grouping (day, week, month, quarter, year) Save and recover graph definition Forms: Tables: User defined charts www.ontimize.com
Using the data from any table User chooses columns, groupings, totals, etc. User and corporate template repository Print, export, zoom, etc. Support for JFree and Jasper report templates  Forms: Tables: User defined reports www.ontimize.com
Fill in a document with the data from any form User and corporate template document store Users can create, update and modify their own templates Supports  Microsoft Word PDF Open Office Forms: Templates www.ontimize.com
Attach files to any register on any form Private/Public Comments on one or a set of files Background upload and download Open file with associated program Forms: Attachments www.ontimize.com
Search Multiple conditions Approximate searches Operators <, >, <=, >=, <> Dates, Numbers, Text Allows configuring the attributes that will appear on a summary table Queries stored in the server  Insert Update Delete Forms: Basic interaction www.ontimize.com
Allows exploring a hierarchic data structure When a node is selected, details are shown in a form Only requires defining the desired hierarchy User configurable sorting Trees www.ontimize.com
Contents Search Context sensible help Direct access from forms to sections Web style navigation, through links User defined help in the Fields Online Help www.ontimize.com
Language (locale) selection Labels and messages Adaptive layout Date, number and money formats Easy translation Dynamic Stored in the database User configurable translations Internationalization www.ontimize.com
GUI Menus, trees, forms and fields that a user can access or write Server Set of data that a user can access (entities, attributes and registers) Temporal restrictions Restrictions on operations Graphical configuration User permissions and roles www.ontimize.com
www.ontimize.com
Data types Raster Georeferenced images Maps Vector Shapefiles (ESRI) DXF (Autocad) Geographic data Points, lines, multiple lines, polygons Alphanumeric data Ontimize Map Viewer (GIS): Data www.ontimize.com
Most common providers integration Google Maps OpenStreet Maps WMS servers User tools Graphical search Symbol, line and color configuration Graphical data modification Geographical tools Several projections allowed Map Viewer (GIS): Features www.ontimize.com
Document Management JCR Integration (Java Content Repository)  Access control Document properties Content & properties based searches Cache of structure and documents that have been requested or may be needed  Automatic modification detection Transparent upload & download Offline support Drag & Drop File traceability www.ontimize.com
Configurable drawing elements Org-charts Processes Schematics Access to related forms Quick-view of associated data Graphical collaboration over the Internet Diagram Editor www.ontimize.com
Workflow Engine Tasks Decisions Timers Concurrency Synchronization Triggers Messages Visual Editor Integrated in Ontimize Contextual Users can: See flow diagram / state Launch tasks from diagram or list Workflow www.ontimize.com
View events for multiple resources Events linked to entities and forms Different types of events and activities Include event information in reports Multi – user tasks management Agenda / Planning www.ontimize.com
Work packages Dependencies Gantt www.ontimize.com Linked to entities and forms Visual editing
www.ontimize.com
Ontimize for Mobility Solutions Focused on the GUI and the connectivity Online / offline support  Standalone applications 100% compliant to Ontimize Open and scalable Based on XML and Java ME Allows inserting custom components Ontimize ME www.ontimize.com
Ontimize ME: Architecture Easy deployment and update Over-the-air (OTA) CAB files MSI (ActiveSync) PRC (Palm) www.ontimize.com Ontimize synchronization Stand alone persistence Ontimize communication
Ontimize ME: Stack www.ontimize.com
www.ontimize.com
Eclipse plugin to automate and speed up Ontimize Application development Increases productivity & efficiently Reduces the number of errors Visual development and edition Handles the databinding automatically Automates the XML and configuration files generation Contains documentation, videos and other information useful for the developer Ontimize Eclipse Plugin www.ontimize.com
Wizards to perform the most usual tasks Data providers mapping Application screens design Application deployment Ontimize SDK A complete eclipse with the Ontimize plugin ready to use Ontimize Eclipse Plugin www.ontimize.com
www.ontimize.com
Ontimize allows you to define what application you wish to have: Client (Graphical User Interface) Server (Data Entities) Without having to worry about how to implement it in a program Basic logic (presentation and business) is included Advanced logic is programmed This allows implementing many user requirements without programming Rapid Prototyping Declarative approach www.ontimize.com
In Ontimize declarations are expressed in XML This has many advantages: Widely used standard Programming language independent Hierarchical Extensible (tags) Many tools available (editors, verifiers, etc) Can be transformed (XSLT), making the effort reusable XML as a declarative language www.ontimize.com
General Architecture www.ontimize.com
Reads an XML file that describes general parameters and references files that describe:  Menu and button bar Trees Forms Presentation logic classes (event listeners) Report formats (JFreeReport) Language labels (bundles) XML tags are mapped to Ontimize classes or custom classes Ontimize Client 1/3 www.ontimize.com
Using these files, the Ontimize Client: Creates supporting data structures Instantiates classes when needed (late binding) Manages form loading, state and cache Manages dynamic component layout  Provides basic presentation logic Manages custom presentation logic classes Manages communications with the server Manages user authentication Implements presentation security policies Ontimize Client 2/3 www.ontimize.com
Basic Presentation Logic: Login Invoke forms from the menu or button bar Trees: populate, invoke form, update inserts,.. Forms: Field format validation Data manipulation (CRUD: create, read, update and delete) Master-detail: multiple, deferred insert,… Cache: forms, data, … Tables (grids): populate, refresh, filter,… Drill-down from tables and components User preferences, internationalization, … Interaction with local devices Reports, graphs, attachments, documents,… Ontimize Client 3/3 www.ontimize.com
Ontimize Server Architecture 1/2 www.ontimize.com
Ontimize Server Architecture 2/2 www.ontimize.com Presentation Business Logic
Acts mainly as a  presentation server  and provides some facilities for the business/persistence layers Provides a “front controller” that receives client requests and dispatches them to EJB 3.0  Stateless Session Beans  (SSB) or POJOs that implement business logic SSB that provide the basic business logic required by the Ontimize Client and automatic binding to JPA entities or JDBC are included (optional) Developers can extend these or create their own SSB to provide specific business logic Ontimize Server 1/3 www.ontimize.com
Security Support for single sign-on (LDAP, Kerberos,…) Container security defined using standard annotations  Business logic security can be defined in XML: attributes, domains (rows), conditions, time constraints  Communications designed for the Internet Latency: remote calls are minimized, encapsulating data in a single object per request Bandwidth: dynamic data compression Encryption (SSL) & tunneling (HTTP or HTTPS) Ontimize Server 2/3 www.ontimize.com
Basic Business Logic: User authentication & session management Data Manipulation (CRUD) Collecting data from multiple related entities User access log Transparent access to local and remote databases Secure and efficient communications Image, file and report repositories Ontimize Server 3/3 www.ontimize.com
Using Java, a developer can: Include custom components Implement custom presentation logic Implement custom business logic Interact with devices and other systems High level (Ontimize API) and low level (Swing, JDBC, etc.) programming supported Open & Programmable www.ontimize.com
Vigo Polígono Industrial A Granxa Paralela 1 (calle D) - Casa de Piedra 36400 Porriño (Pontevedra) España Tel:  +34 986 342 774 Fax:  +34 986 342 298 --------------------------------------------------------------------------------------------------------------- E-mail:  [email_address] www.ontimize.com A Coruña Centro de Iniciativas Empresariales &quot;Mans&quot; Políg. de Pocomaco, Parcela D-22, Local 24. 15190 A Coruña  Tel:  +34 981 910 146 --------------------------------------------------------------------------------------------------------------- E-mail:  [email_address] www.ontimize.com  www.ontimize.com Contact

More Related Content

Ontimize Technical Description

  • 2. Introduction Functional description Ontimize Ontimize More Ontimize ME Technical description Ontimize Plugin Contents www.ontimize.com
  • 3. Software cycles www.ontimize.com
  • 4. IT “reinvents” itself every 10 years Distributed vs Centralized Interactive vs Accessible SME vs Software Factory Rapid Development vs “hand coding” Personalized vs Standard Software cycles www.ontimize.com
  • 5. Integrated Rich Clients Rich user experience Dynamic content Desktop application Not bound to a browser Full integration with web Full integration with host Ability to continue when disconnected Java Swing + Java FX Webstart Deployment Other main players too Microsoft: Silverlight Adobe: Flex + AIR Google: Gears Next Wave according to SUN (JavaOne 2007) www.ontimize.com
  • 6. It’s very difficult to keep up to date Commercial or “open-source”, there are just too many technologies to evaluate General purpose languages (Java, C++, C#) do not offer enough productivity Programmers are forced to use a combination of languages, libraries and products that do not integrate very well Software complexity www.ontimize.com The learning curve grows The quality of software decreases
  • 7. Software complexity - example www.ontimize.com
  • 8. Hand coding using general purpose languages is not productive and error prone IDEs are helpful but still require a lot of coding Frameworks provide a reusable design that increases productivity for a specific domain “ Standard” frameworks (JSF, EJB, Spring,…) and APIs address general issues. These can be combined and built upon to create a Development productivity www.ontimize.com higher level “corporate” framework
  • 9. A declarative framework for developing interactive enterprise applications Based on standards (Java and XML) Multiplatform Interactive GUI Goal: Simplify the use of technology Result: Develop about 10 times faster What is Ontimize? www.ontimize.com * Under development Desktop Mobile Browser*
  • 10. No need to develop your own Framework Increased development productivity Corporate IT strategy is implicitly introduced Improved software quality Simplifies the use of complex technologies Tested Evolves (new features available on future and existing applications) Optimize your resources Advantages for your company www.ontimize.com
  • 11. Rich user interface Internet technology Covers many needs of enterprise applications Based on well-known, standard technologies Designed for software engineers (i.e. Eclipse) Application definitions are stored in reusable programming language independent XML Open architecture and access to source code Flexible and attractive exploitation model Why Ontimize and not others? www.ontimize.com
  • 12. The role of Ontimize www.ontimize.com Applications Integrated and tested functional modules Enterprise application development Framework JFreeReport, JFreeChart, iText, JEP… Weblogic, Websphere, iAS, JBoss, Glassfish Oracle, SQL Server, PostgreSQL, MySQL
  • 14. Functional Description Ontimize Ontimize More Ontimize ME www.ontimize.com
  • 16. General Structure Window menu Screen menu Button bar Forms Trees Status Bar General features Look & Feel preferences Language selection User customization Shortcuts configuration Application Structure www.ontimize.com
  • 17. Login User / Password Smartcard (i.e. Digital ID Card) Access Control www.ontimize.com
  • 18. Containers are elements used to structure the Form Ontimize uses a Dynamic Layout Strategy, automatically adjusting the position and the size of all the elements You can add your own containers seamlessly Forms: Containers www.ontimize.com Containers Row Column TabPanel SplitPanel CardPanel More than 10 different containers to create any imaginable layout…
  • 19. Fields are the elements that show information to the user Forms: Fields www.ontimize.com Text: Normal, HTML, spell-checker Date: Calendar ID codes Number, calculated, money Web, e-mail, hyperlink Selection: combo (drill-down), code/description, list Image, charts More than 40 different fields to handle any data type
  • 20. Supports common image formats Allows capturing from TWAIN compatible devices Photo tools: magic wand, contrast, focus, … Store in database or file system Forms: Fields: Image www.ontimize.com
  • 21. Shown in form or separate window Line, Bar, Pie and 3D graphs Multiple series and time series graphs Print, export, zoom, etc. Forms: Fields: Charting www.ontimize.com
  • 22. Display the information in a table Lots of default features: Copy & paste to Excel, Clipboard Export to Excel, HTML Printing from the table Charting from the table Reporting from the table Multiple column sorting and filtering Quick filter Advanced Filtering Filtering, sorting and other operations executed in memory to improve performance Forms: Tables 1/2 www.ontimize.com
  • 23. Column grouping with aggregate functions: Sum, average, maximum, minimum Column visibility, position and width configuration Store and recover filtering, sorting, grouping and configuration options, in the server Pivoting feature in OLAP style Inserting data straight from the table Pageable table Forms: Tables 2/2 www.ontimize.com
  • 24. Using the data from any table The user selects x, y and graph type Temporal series grouping (day, week, month, quarter, year) Save and recover graph definition Forms: Tables: User defined charts www.ontimize.com
  • 25. Using the data from any table User chooses columns, groupings, totals, etc. User and corporate template repository Print, export, zoom, etc. Support for JFree and Jasper report templates Forms: Tables: User defined reports www.ontimize.com
  • 26. Fill in a document with the data from any form User and corporate template document store Users can create, update and modify their own templates Supports Microsoft Word PDF Open Office Forms: Templates www.ontimize.com
  • 27. Attach files to any register on any form Private/Public Comments on one or a set of files Background upload and download Open file with associated program Forms: Attachments www.ontimize.com
  • 28. Search Multiple conditions Approximate searches Operators <, >, <=, >=, <> Dates, Numbers, Text Allows configuring the attributes that will appear on a summary table Queries stored in the server Insert Update Delete Forms: Basic interaction www.ontimize.com
  • 29. Allows exploring a hierarchic data structure When a node is selected, details are shown in a form Only requires defining the desired hierarchy User configurable sorting Trees www.ontimize.com
  • 30. Contents Search Context sensible help Direct access from forms to sections Web style navigation, through links User defined help in the Fields Online Help www.ontimize.com
  • 31. Language (locale) selection Labels and messages Adaptive layout Date, number and money formats Easy translation Dynamic Stored in the database User configurable translations Internationalization www.ontimize.com
  • 32. GUI Menus, trees, forms and fields that a user can access or write Server Set of data that a user can access (entities, attributes and registers) Temporal restrictions Restrictions on operations Graphical configuration User permissions and roles www.ontimize.com
  • 34. Data types Raster Georeferenced images Maps Vector Shapefiles (ESRI) DXF (Autocad) Geographic data Points, lines, multiple lines, polygons Alphanumeric data Ontimize Map Viewer (GIS): Data www.ontimize.com
  • 35. Most common providers integration Google Maps OpenStreet Maps WMS servers User tools Graphical search Symbol, line and color configuration Graphical data modification Geographical tools Several projections allowed Map Viewer (GIS): Features www.ontimize.com
  • 36. Document Management JCR Integration (Java Content Repository) Access control Document properties Content & properties based searches Cache of structure and documents that have been requested or may be needed Automatic modification detection Transparent upload & download Offline support Drag & Drop File traceability www.ontimize.com
  • 37. Configurable drawing elements Org-charts Processes Schematics Access to related forms Quick-view of associated data Graphical collaboration over the Internet Diagram Editor www.ontimize.com
  • 38. Workflow Engine Tasks Decisions Timers Concurrency Synchronization Triggers Messages Visual Editor Integrated in Ontimize Contextual Users can: See flow diagram / state Launch tasks from diagram or list Workflow www.ontimize.com
  • 39. View events for multiple resources Events linked to entities and forms Different types of events and activities Include event information in reports Multi – user tasks management Agenda / Planning www.ontimize.com
  • 40. Work packages Dependencies Gantt www.ontimize.com Linked to entities and forms Visual editing
  • 42. Ontimize for Mobility Solutions Focused on the GUI and the connectivity Online / offline support Standalone applications 100% compliant to Ontimize Open and scalable Based on XML and Java ME Allows inserting custom components Ontimize ME www.ontimize.com
  • 43. Ontimize ME: Architecture Easy deployment and update Over-the-air (OTA) CAB files MSI (ActiveSync) PRC (Palm) www.ontimize.com Ontimize synchronization Stand alone persistence Ontimize communication
  • 44. Ontimize ME: Stack www.ontimize.com
  • 46. Eclipse plugin to automate and speed up Ontimize Application development Increases productivity & efficiently Reduces the number of errors Visual development and edition Handles the databinding automatically Automates the XML and configuration files generation Contains documentation, videos and other information useful for the developer Ontimize Eclipse Plugin www.ontimize.com
  • 47. Wizards to perform the most usual tasks Data providers mapping Application screens design Application deployment Ontimize SDK A complete eclipse with the Ontimize plugin ready to use Ontimize Eclipse Plugin www.ontimize.com
  • 49. Ontimize allows you to define what application you wish to have: Client (Graphical User Interface) Server (Data Entities) Without having to worry about how to implement it in a program Basic logic (presentation and business) is included Advanced logic is programmed This allows implementing many user requirements without programming Rapid Prototyping Declarative approach www.ontimize.com
  • 50. In Ontimize declarations are expressed in XML This has many advantages: Widely used standard Programming language independent Hierarchical Extensible (tags) Many tools available (editors, verifiers, etc) Can be transformed (XSLT), making the effort reusable XML as a declarative language www.ontimize.com
  • 52. Reads an XML file that describes general parameters and references files that describe: Menu and button bar Trees Forms Presentation logic classes (event listeners) Report formats (JFreeReport) Language labels (bundles) XML tags are mapped to Ontimize classes or custom classes Ontimize Client 1/3 www.ontimize.com
  • 53. Using these files, the Ontimize Client: Creates supporting data structures Instantiates classes when needed (late binding) Manages form loading, state and cache Manages dynamic component layout Provides basic presentation logic Manages custom presentation logic classes Manages communications with the server Manages user authentication Implements presentation security policies Ontimize Client 2/3 www.ontimize.com
  • 54. Basic Presentation Logic: Login Invoke forms from the menu or button bar Trees: populate, invoke form, update inserts,.. Forms: Field format validation Data manipulation (CRUD: create, read, update and delete) Master-detail: multiple, deferred insert,… Cache: forms, data, … Tables (grids): populate, refresh, filter,… Drill-down from tables and components User preferences, internationalization, … Interaction with local devices Reports, graphs, attachments, documents,… Ontimize Client 3/3 www.ontimize.com
  • 55. Ontimize Server Architecture 1/2 www.ontimize.com
  • 56. Ontimize Server Architecture 2/2 www.ontimize.com Presentation Business Logic
  • 57. Acts mainly as a presentation server and provides some facilities for the business/persistence layers Provides a “front controller” that receives client requests and dispatches them to EJB 3.0 Stateless Session Beans (SSB) or POJOs that implement business logic SSB that provide the basic business logic required by the Ontimize Client and automatic binding to JPA entities or JDBC are included (optional) Developers can extend these or create their own SSB to provide specific business logic Ontimize Server 1/3 www.ontimize.com
  • 58. Security Support for single sign-on (LDAP, Kerberos,…) Container security defined using standard annotations Business logic security can be defined in XML: attributes, domains (rows), conditions, time constraints Communications designed for the Internet Latency: remote calls are minimized, encapsulating data in a single object per request Bandwidth: dynamic data compression Encryption (SSL) & tunneling (HTTP or HTTPS) Ontimize Server 2/3 www.ontimize.com
  • 59. Basic Business Logic: User authentication & session management Data Manipulation (CRUD) Collecting data from multiple related entities User access log Transparent access to local and remote databases Secure and efficient communications Image, file and report repositories Ontimize Server 3/3 www.ontimize.com
  • 60. Using Java, a developer can: Include custom components Implement custom presentation logic Implement custom business logic Interact with devices and other systems High level (Ontimize API) and low level (Swing, JDBC, etc.) programming supported Open & Programmable www.ontimize.com
  • 61. Vigo Polígono Industrial A Granxa Paralela 1 (calle D) - Casa de Piedra 36400 Porriño (Pontevedra) España Tel: +34 986 342 774 Fax: +34 986 342 298 --------------------------------------------------------------------------------------------------------------- E-mail: [email_address] www.ontimize.com A Coruña Centro de Iniciativas Empresariales &quot;Mans&quot; Políg. de Pocomaco, Parcela D-22, Local 24. 15190 A Coruña Tel: +34 981 910 146 --------------------------------------------------------------------------------------------------------------- E-mail: [email_address] www.ontimize.com www.ontimize.com Contact

Editor's Notes

  1. Hacer que destaque ontimize en la gráfica
  2. Cajitas en chiquitito de las 3 functional descriptions
  3. Bundle in the database
  4. Add the permissions component
  5. See R Contacts
  6. See R Contacts
  7. See R Contacts
  8. See R Contacts
  9. See R Contacts
  10. See R Contacts
  11. See R Contacts
  12. See R Contacts
  13. See R Contacts
  14. See R Contacts
  15. See R Contacts
  16. See R Contacts
  17. See R Contacts
  18. See R Contacts
  19. See R Contacts
  20. See R Contacts