www.zippyzebra.co.uk. who are we? we are a software development company specialising in developing...

43
www.zippyzebra.co.uk

Upload: kathleen-hinks

Post on 01-Apr-2015

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

www.zippyzebra.co.uk

Page 2: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Who are we?

• We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus on APEX.

• Our mission is to use agile methods to develop effective business solutions that fully meet our customers business requirements.

• We focus on database driven technical solutions enabling our customers to really leverage on their investment in Oracle technology.

Page 3: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

A bit more About Us

Zippy Zebra was Founded in 2006 by:

Jonathan Rhind Over 20 Years development experience with Oracle technology

Zaid AliOver 20 Years development experience with Oracle technology

Our TeamOur core development team consists of a very experienced group of dedicated individuals that we have known and worked with over many years.

Proud to be :

• An Oracle Partner• A Member of the APEX Feature Advisory Board

Page 4: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

More about what we do

Services we provide include:

• APEX development

• Analysis

• Database Design

• Application Design

• User Interface Design

• Integration / Interfaces / Web Services

• Prototyping

• Assistive Technologies

• Application Security

Page 5: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Turning Point

Liverpool Victoria – Travel Insurance

Key Features:

•eCommerce Quote and Buy Insurance website

•Dual user interfaces• Web Front End (Internet)• Call Centre Front End (Intranet)• Shared application logic layer

•Print Integration (PDF Generation and Download)

•Online Card Payment Integration

•Sophisticated Bespoke Rating Engine

•Third Party Branding

• Live operation since 2008

Page 6: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus
Page 7: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus
Page 8: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Ministry of Justice

National Offender Management Service (NOMS)

Page 9: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Ministry of Justice

• The National Offender Management Service (NOMS) is an Executive Agency of the Ministry of Justice. 

• Provides offender services in the community and in custody in England and Wales.

• Works to protect the public and reduce reoffending by delivering the punishment and orders of the courts and supporting rehabilitation by helping offenders to change their lives.

• NOMS keeps the public safe by ensuring that around 260,000 offenders each year securely undertake the punishment provided through the prison and probation services.

National Offender Management Service (NOMS)

Page 10: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

OASys

• OASys is the abbreviated term for the Offender Assessment System, used in England and Wales by Her Majesty's Prison Service and the National Probation Service. 

• As part of a modernisation programme the existing OASys system was to be completely re-developed.

• The goals of the new OASys were to provide a single database containing all offender and assessment data delivered to users in a browser based application with a rich user interface including support for assistive technologies.

• Ability to support user base of approximately 60,000 users

OASys live since March 2013

National Offender Management Service (NOMS)

Page 11: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Our Involvement

How did we get involved?

•Decision made by HP and Capita to investigate use of Oracle Application Express

•Approached by HP, due to our extensive APEX and Oracle experience

•Engaged by Capita and HP to do a number of technical workshops to assess the technical feasibility of creating such a large application using Oracle APEX

•After the successful completion of the workshops, covering the key technical challenges, Zippy Zebra was commissioned for the technical design and application development of the new OASys system

National Offender Management Service (NOMS)

Page 12: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Our Roles and Responsibilities

Our team had full responsibility for:

•Technical Design

•Application Development

•Configuration Management.

•Engagement of our Development Team

“Having worked with the Zippy Zebra team for nearly two years, I have been constantly impressed by their technical knowledge and the way they have applied it to complex business scenarios. The resulting application has received consistently high praise from the user community. Under pressure to deliver in short timescales, they have put together a team of highly skilled and commited developers.”

Martin Hiorns, Project ManagerOASys ProjectCapita

Page 13: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

The Technology

Software Stack:

•Oracle 11g Enterprise RAC (Including APEX 4.0)

•Oracle BI Publisher

•Oracle HTTP Server

Client Support:

•Internet Explorer 6 Only (Currently)

Page 14: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Key Challenges

Key Project Challenges:

•Design of the User Interface

•Structuring such a large APEX Application

•Supporting Assistive Technologies

•Internet Explorer 6

•Performance

•Security

Page 15: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

OASys

What does it look like?

Page 16: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus
Page 17: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus
Page 18: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Screenshots Here

Page 19: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Screenshots Here

Page 20: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Screenshots Here

Page 21: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Project DevelopmentStandards

Create Project Standards:

•Coding Standards• Coding Style• Best Practice• Standard API’s e.g. error handling• Debug

•User Interface Standards• Consistent Look and Feel• Visual Style Guide – e.g. Search Page, Edit Page etc• Widget / Component Library

Make Sure of the following:

•Keep these documents up to date•Ensure Development team know and understand these documents in detail

Page 22: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

Application Structure – “Modules”

Page 23: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

What do we mean by a “Module”:

• Single APEX application

• One or more pages • Performs specific business function

• Associated Module Package

• Associated Module Views

APEX Parsing Schema has permissions to access following:

• Module packages / Generic Packages

• Views

All Database objects owned by separate owning schema – minimal objects exposed to APEX Parsing schema via synonyms and grants

Page 24: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

Multiple “Modules” - create a seamless application system

• Decide on a level of granularity • Each Module has a “Landing Page” and one or more related pages

• Landing Page is the only URL access enabled page in a module

• All Modules share same APEX session – via session cookie defined in subscribed authentication scheme

• Modules allow ease of maintenance for large development team

• Use Application and Page aliases

• Build standard navigation API’s

Page 25: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

• Create Master Library Application

• Contains “Master” copy of all Shared Components

• Contains test pages for each component type including any JavaScript components

• Use Copy and Subscribe functionality of Shared Components

• Authentication Schemes• Authorization Schemes• Templates• Plug-Ins• LOVs

• Create “Hooks” in Application Level Processes for common events

• Contains Test pages for Theme Templates and all UI components

Page 26: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

• Create Starter Application

• Pre-configured application containing required subscribed components

• Developers take a copy of this application when starting a new Module

• Contains common components on Page 0

• Contains standard set of Application Items and Processes

• Create Top Level Application

• The Login Module

• Entry point to entire application

• Owner of shared Authentication scheme via subscription

Page 27: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

• OASys consists of 120+ Modules

• That’s 120+ individual APEX applications

• All work seamlessly together as a single application

• Provides flexibility with medium/large development team

• Ease of maintenance

• Easier source code control • check-in / check-out individual Modules

• Easier release management – due to granularity

Page 28: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

Application Logic Structured Using PLSQL Package API’s

Page 29: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Structuring Large APEXApplications

API Layers

•Table API Packages – as table interaction not just through APEX

•Adds another layer of security – Table access not directly exposed to APEX parsing schema just packages

•Module API’s – one package per APEX module

•Minimal PLSQL in APEX pages – only contains calls to event handlers from corresponding Module API Package

•Allows sharing of all application logic e.g. from Native Webservices from Batch processes

•Business Logic API’s

•Utility and UI API’s

Page 30: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

OASys Interfaces

OASys Interface Layer consists of:

•SOAP Webservice calls to BI Publisher

•Native web services exposed for incoming Case Management Systems to consume – PCMS, CRAMMS, PNOMIS

•SOAP Webservice calls for live Offender searches across other internal systems direct from within OASys search screens

No JAVA stack required!

All Web Service functionality performed via Oracle Database and PL/SQL

Page 31: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Designing the User Interface

User Interface

•Build static HTML prototypes for key areas• Pages

• Search Page• Edit Page• Modal Pageetc

• Regions• Menus

•Integrate and Test JQuery components

•Get user agreement

•Create APEX Templates from Static HTML

•Create full APEX Theme

Page 32: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Designing the User Interface

Standard Header with Pull Down System Navigation Menu – Dynamic Region – Page 0

Page 33: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Floating Accordian Menu – Dynamic Region – Page 0

Page 34: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Designing the User Interface

Tabs – Dynamic Region

Page 35: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Supporting Assistive Technologies

Government projects insist on compliance with AT software

•Do not assume browser will support AT software

•Identify technology to be used Dragon (dictation)

Jaws (screen reader) Read & Write

Zoom Text

•Design AT standards into core build

•Use specialist testers with knowledge of the tools

Page 36: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Performance

Apex is NOT the culprit, your application code is!

•Tune all application SQL and PLSQL

•Use Oracle tools Explain Plan, TKProf, AWR

•Use Statistics from a volume database in Development / System Test environments to detect poor performing queries early

•Simulate concurrent connections 10,000+ with a tool like LoadRunner

•Tune JavaScript/Jquery – especially Jquery selectors used

Page 37: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Security

•Cross site scripting – escape your data

•SQL injection • Use bind variables• Beware of Dynamic SQL

•Enable Session State Protection• Prevent URL hacking

•Use page blockers to prevent duplicate page submissions• Feature also built in to APEX

•Penetration Testing

•Use Authorization Schemes

Page 38: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Issues encountered with APEX

• Sharing session state across applications

• 100 item limit on page (200 with APEX 4.2)

• APEX session tables RAC - Contention

Page 39: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Our Solutions

• Sharing session state across applications• Created our own session state tables• APEX 4.2 now provides read/write to application items across

applications

• 100 item limit on page• Created our own dynamic renderer based on our own metadata• Renderer uses APEX_ITEM API’s to work around 100 item limit• APEX 4.2 item limit now 200 items per page

• APEX session tables RAC - Contention• Caused excessive traffic across RAC interconnects• Implement Instance affinity – bind sessions to same RAC nodes

Page 40: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

New APEX Features Used

• Dynamic Actions

• Plugins

Page 41: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Oracle Support

• Oracle always there to help

• Direct communication with APEX team at Oracle

Page 42: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Use APEXfor Enterprise Systems?

YES

Page 43: Www.zippyzebra.co.uk. Who are we? We are a software development company specialising in developing bespoke Oracle based solutions with a particular focus

Q & A Please feel free to ask us any questions

www.zippyzebra.co.uk