Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting started with Formspider


Published on

This presentation talks about the core concepts of Formspider, the application development tool for PL/SQL developers.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Getting started with Formspider

  1. 1. Getting Started Starts at 14:00 CEST (07:00 EST) with
  2. 2. • Formspider Basics • About the Company • About Formspider • Let’s Build an App!
  3. 3. Yalim K. Gerger Software Engineer Founder
  4. 4. About Gerger - International Worldwide recognition with Formspider. Customers in 26 Countries. - Local Recognised by the Turkish Government as an R&D company. Founding member of Turkey Oracle User Group. - Basics Founded in 2005. Released Formspider Beta in February 2011. Formspider 1.0 in May 2012
  5. 5. What Happened in 2015? • Customers in 26 countries Germany, UK, Netherlands, France, Greece, USA, Canada, UAE, Argentina, Brazil, Peru, Latvia, Russia, Indonesia… • Forms Modernisation Rollouts • 50+ Companies use Formspider • Hundreds of Developers • Our Customers Love Us! :-)
  6. 6. Who Uses Formspider? • Freelancers / IT Consulting Firms Oracle Professionals who want to differentiate their service offering • IT Departments Oracle Database customers with significant investment in PL/SQL or Oracle Forms • Independent Software Vendors (ISV’s) Companies with products built with PL/SQL or Oracle Forms
  7. 7. Customer SpotlightTEAM GmbH rebuilt their flagship application ProStore (intralogistics and warehouse management) with Formspider Same development team. From Oracle Forms to Single Page Web Application running in the Cloud in a year. (>400 Forms) Did you watch the demo? Watch the Demo Works on desktops, laptops, iPads and other tablets.
  8. 8. (Formerly ING Insurance). Turkey. Agency Portal, Forms Modernisation. Turkish Telco. Logistics Reports. Dutch Branch. Forms Modernisation of Logistics ERP. Czech Republic .Logistics ERP Azerbaijan. Core Banking Germany. Warehouse Management System. USA. Global manufacturer of equipment used in product assembly Argentina. Government of Rio Negro. Forms Modernisation. Peru. Financial Systems United Kingdom
  9. 9. Lithuania Italy Turkey. Campaign Management. Greece France Cyprus Germany Azerbaijan Italy
  10. 10. New Features in Formspider 1.9
  11. 11. New Themes » Modern, flat design » Different color schemes » Easy to customise
  12. 12. Stateful Database Connections
  13. 13. Stateful Database Connection • An Oracle Forms application uses one database session while it is running • Web Applications pick a database connection from a pool of connections. So each time the application executes a piece of code, it might be using a different database session • Most Oracle Forms Applications are developed assuming a single session during execution. For example, they take advantage of package globals. • Formspider 1.9 supports stateful connections to the database
  14. 14. • Prevents opening unnecessary sessions • Avoids unauthorised stateful connections • One line of code • Makes Oracle Forms migration a lot easier Stateful Database Connection • Can switch between two modes
  15. 15. ROWID Support for DML
  16. 16. ROWID Support For DML • Issue DML to Datasources with Multi-Column Primary Keys • One CheckBox • Can be used with Datasources which have a single column Primary Key
  17. 17. Dynamic Where Clauses
  18. 18. Dynamic Where Clauses • where (value_nr=:bindvar1 or :bindvar is null) and (order_nr=:bindvar2 or :bindvar2 is null) and… • This is suboptimal • Ignores bind values with null values and automatically generates the correct where clause with optimal performance • Mix and match predicates, change where clause structure
  19. 19. search screen wizard
  20. 20. Search Panel Wizard • Easily create a beautiful fully functional search screen • Wizard generates both code and UI • Integrated with dynamic where clauses to generate the optimum SQL • Configurable
  21. 21. • Dynamic Where Clauses • Beautiful New Themes • Stateful Database Connections • Search Panel Wizard Formspider 1.9 New Features • ROWID Support for DML
  22. 22. Version 1.9 is Available Now
  23. 23. Built-in Multi Browser Support
  24. 24. Scales instantly with Oracle RAC Cloud Ready
  25. 25. Formspider streams applications
  26. 26. Built-in Performance Best Practices Built-in Security Best Practices Built-in Authorisation and Authentication Built-in Support for 9 out of the 10 most common security vulnerabilities
  27. 27. Git Integration for Version Control Both UI and PL/SQL is managed in Git Branching, Automatic Merge, Team Development
  28. 28. 100% PL/SQL
  29. 29. 100% PL/SQL Git Integration for Version Control Both UI and PL/SQL is managed in Git Branching, Automatic Merge, Team Development Built-in Performance Best Practices Built-in Security Best Practices Built-in Authorisation and Authentication Built-in Support for 9 out of the 10 most common vulnerabilities Formspider streams applications Scales instantly with Oracle RAC Cloud Ready Built-in Multi Browser SupportDynamic Where Clauses Beautiful New Themes Stateful Database Connections Search Panel Wizard
  30. 30. Getting Started with Formspider • Disclosure: I can’t show everyone in the audience exactly what they want. No time for that. • If I explain everything at a very high level, then you will learn nothing. • So, I’ll go over the most important stuff and we’ll make out feet wet, too. • If I go deep in one issue, you will get bored.
  31. 31. The Easiest Way to Learn Formspider • Freelancers / IT Consulting Firms Find a customer you can bill if you build an application with Formspider. • IT Department Employees Have an application to build with an approaching deadline. • Independent Software Vendors (ISV’s) Lose sales, customers because of your ageing product.
  32. 32. Curriculum • How does it work? Formspider Architecture. The application life cycle. • Hello World Introduction to the Formspider IDE. • Introduction to Formspider Objects » Windows » Panels » Layouts » Components » Actions » Datasource Definitions&Datasources • Let’s build a small Application • Formspider PL/SQL API’s
  33. 33. FS Engine FS Middle Tier FS JavaScript Library - Listens to user input - Draws the screen - Sends user input back to the server - Keeps a virtual copy of the app instance - Receives events&updates - Execute events, runs PL/SQL code (FS API’s) - Sends screens&commands - Facilitates communication - Stores file assets such as CSS, icons etc... How does Formspider work?
  34. 34. Formspider IDE • Formspider IDE is built with Formspider IDE.
  35. 35. Formspider Objects - Mainframe • Formspider Objects Containers » Windows – Mainframe 1. Starting point of a Formspider application 2. There can only be one in an application 3. Can only contain Panels 4. Uses a Layout Manager to place Panels in its content area
  36. 36. Formspider Objects - Dialogs • Formspider Objects Containers » Windows – Mainframe – Dialogs 1. There can be many in one application 2. Can only contain Panels 3. Use a Layout Manager to place Panels in its content area 4. Can be Modal or Non-Modal
  37. 37. Formspider Objects - Panels • Formspider Objects Containers » Windows – Mainframe – Dialogs » Panels 1. There can be many in one application 2. Can contain Panels and Components 3. Use a Layout Manager to place Objects in its content area 4. The Number of Panels in an application does not impact its performance 5. Different types of Panels: Simple, Tabbed, Accordion, Split
  38. 38. Screen Navigation in Formspider • By default Formspider shows the Mainframe. • Add/remove Panels from the Windows or from other Panels to navigate from one screen to the other.
  39. 39. Formspider Layouts A Layout Manager controls where a Panel or a Window places objects in its content area.
  40. 40. Formspider Layouts • XY Layout » <xyLayout> » <cell x=“120” y=“68” height=“40” width=“150”> • Border Layout » <borderLayout> » <cell docking=“North” height=“40”> • Table Layout » <tableLayout> » <row> » <cell>
  41. 41. XY Layout • Use only if absolutely necessary • For example for screens that should be printed
  42. 42. Border Layout • Divides the container to 5 logical areas: North, South, East, West and Center • Mostly used as the top level Layout Manager in Mainframes, Dialogs.
  43. 43. Table Layout • Very important. Learn it very well. Here is the tutorial. :-) • Most of your Windows and Panels will use Table Layout.
  44. 44. Formspider Components • Can be placed inside Panels, under the <cell> tag, which is a Layout tag. • All layout information is handled by the parent <cell> tag. • Can bind to data. Most bindings to data are bidirectional. A few bindings are in one direction i.e. a change in data does not effect the component automatically.
  45. 45. Formspider Actions • Represent PL/SQL procedures • Called from Events in Formspider Objects • Bridges your code to the User Interface
  46. 46. Datasources Definitions • Your SQL Queries. Can be based on Tables, Views or arbitrary SQL. • As the name suggests, these are definitions, not actual objects (unlike UI objects). The instances are called Datasources. • Transform your data to a form that is meaningful for your User Interface
  47. 47. Datasources • PL/SQL tables on steroids. Populated by the SQL in its definition. • Current Row Indicator • Can issue DML to database. • Create Save Points. Restore at a later time. • Bind to UI Objects • A Rich set of API’s… • Each datasource has its own rows. Its own bind variable values.
  48. 48. Formspider PL/SQL API’s • API’s for all objects and then some… • Use API’s to: » Manipulate UI Objects » Manipulate Layout » Screen Navigation » User Session Management » Data Validation » Data Manipulation » Security » Timers » Version Control
  49. 49.