Feature Overview Page 1
Technology Client Server Client-Server Communication Client Runtime Application Deployment Java Swing based (JRE 1.6), generic rich frontend client. HTML based thin frontend client for simple, form based scenarios. Java Server Faces (JSF 1.1), Java (JRE 1.5) based server processing. CaptainCasa adds an own component library to the JSF container no own server functions are added. Management of scalability, fail over, etc. left to the default JSF/servlet processing. Http, https Delta data exchange between client and server. WebStart Applet Stand alone application (explicit installation) Extension: Browser (Internet Explorer, Mozilla) for HTML frontends. As web archive (.war file). User Interface Definition General Aspects Declarative Definition Dynamic Definition Modularization Layout definitions as JSP pages containing XML layout definition. Components are assembled within this XML layout definition. Simple arrangement of controls based on containers/ rows/ columns. No complex dealing with layout managers. Sizing based on pixel or percentage definitions. At any place within the layout definition the layout can be changed by the server side program. E.g. dynamically building up a page/part of a page in which fields/grids are arranged following a meta model (e.g. table/object definition). Nesting of pages (outer page contains inner page) up to any level. Popup Management Internationalization Look and Feel Accessibility Same page can be nested multiple times within one surrounding page, each occurrence with different data. Modal popups. Modeless popups. Any page can be uses as popup. With/without decoration (i.e. typical popup frame). Update of page data below popup. Closing of popup completely in control of server side application. Unicode for all literals. Literals can be outsourced into resource bundles or other stores. Left to right / right to left management. Explicit style definitions on top of the standard look and feel. E.g. operational style, marketing style, high contrast style. Selection of style within a session. Paint commands for background painting/ shading/ images. Unlimited scaling of sizes and fonts. Page 2
Drag & Drop Popup Menu ( right mouse click menu ) Tooltip Hot keys / Function keys Tools Layout Editor Eclipse Integration Java Coding Resource File Editor Session specific styles. Consistently supported. Consistently supported. Consistently supported. Consistently supported. WYSIWYG layout editing environment. In development. IDE of choice. Generation of Eclipse projects. As part of Layout Editor. Component Library (Rich Java Client) Library Aspects Add new Components Add Composite Components Tool Integration Open integration of new Swing components. Swing components need to be wrapped in a simple way and included into the component library that is used on client side. Possibility to compose new components out of exiting components. Example: address component that internally is built out of label, field,... components. Layout Editor will show new Components in the same way as original components are shown. Basic Components Label Field Straight text output. Straight string input. With/without check against data types (decimal, data, time, integer,...). With/without check against regular expressions. With/without value help (popup that opens up on F4 / icon click). With/without mandatory check. Page 3
Button Icon Combobox With/without error indication. With/without editing. Straight button. With/without text. With/without icon. With/without Background. Explicit placing of text (e.g. below icon). Straight icon. With/without rollover effect. Separation of id and text. Definition of items either declaratively or dynamically. Loading of items either immediately or on demand. With/without editing of user. With/without mandatory check. With/without error indication. Check Box With/without text. Combo Box With/without text. Menubar Any hierarchy of menu items. Image Menu item with icon and text. Either declaratively defied or by program. Can be placed anywhere into the page. Not only top of page. Output of.gif,.jpg,.png,.bpm image in the client. Page 4
Outlook Bar Text Pane File Upload Buffering of images within the client. Scaling of image to fit available space. Output of byte[] image. Multi-line editing of text. HTML/RTF/straight output of text. Upload of file from the client to the server. Transfer of client file name and content. Selection of file by popup. One file or multiple files. Limit of file size can be defined. File Download Download of server side file information to client file. Download on request (triggered by user). Download automatically (triggrered by server side program). Page 5
Tabbed Line Calendar / Date Input Client Clock Native Components ActiveX Browser Calendar control either directly placed into layout or available as popup. Keyboard input of data is checked following Locale-specific formatting rules. A date is always referring to a time zone definition. Output of client time to user. Various output formats. Date output, time output. Integration of ActiveX. Corresponding native library needs to be loaded on client side + user has to agree to using the control. Any ActiveX can be integrated. Thin interface to pass data ot control and transfer data back from control. Integration native browser (IE/Mozilla) as special case of ActiveX control: Page 6
Container Components Pane Straight (invisible) container to arrange sub-components. Scrollable Pane Tabbed Pane Tabs can be placed top, bottom, left, right. Foldable Pane With/without title. Page 7
Split Pane Grid / Tree Components General Grid Vertical / horizontal split. Any component can be places into a grid/tree. I.e. no restriction to certain column controls. Column can be a field, label, button, icon, etc. All functions of the components used inside the column are the same as using the component outside the grid's context. With/without header line(s). With/without footer lines. Client Server Management Tree Server side scrolling: only these items are transferred to the client that are actually rendered to the user. Tree is a special type of grid. All grid functions are available for the tree as well. Page 8
Data Loading on Server Side Column Sequence Column Widths Schedule Grid Server side reading in one step or step by step. Either in one step or by following the user's scrolling. Definable by the user (drag & drop on column header). Information is passed to server, so that application can store and reuse. Definable by the user (drag & drop on column border). Information is passed to server, so that application can store and reuse. Schedule can be arranged horizontally or vertically. Schedule items can be dragged/dropped. Schedule items' length can be modified by mouse drag/drop. Flexible Columns The column layout typically is specified for the whole grid. For special cases you can define the column layout for each row individually. Graphics / Animation Page 9
Paint Area Animated Paint Area Image Shaker Arranging of shapes with free style painting inside. Lines between shapes. Drag & Drop support. Shapes position changes are done in an animated way. Reporting PDF Renderer Images change size and position upon selection. Selection is sent to server side processing. Direct output of PDF into document. No client side installation of Adobe Acrobat Reader required. Page 10
Acrobat Reader Jasper Reports Viewer Direct printing of PDF with/without print dialog. Integration of Acrobat Reader by browser control. Client side, direct viewing of reports created with Jasper Reports. Jasper Reports Printer Output / Save to various file formats (pdf/html/xls/...). Client side printing of Jasper Reports that are created on backend side....with/without print dialog. Touchscreen Components Alphanumeric Page 11
Alphanumeric II Numeric Subsystem Integration General Http Receiver Localized keyboard layout. Client side subsystems (e.g. barcode scanner, card reader,...) can be done in three ways: (1.) Integration of corresponding Java code (2.) Integration of corresponding ActiveX controls (3.) Controls that open up a communication line between the sending application and the Enterprise Client frontend. Client side http server that receives http commands and triggers server side processing correspondingly. Any software that runs on client side can as consequence trigger a client side processing within the Enterprise Client frontend by sending an URL string. UDP Datagram Receiver Client side socket listener, listening for datagrams and sending the content of datagrams to the server side processing. Workplace Management Overview Workplace Content Modes Function Hierarchy Favorites Flexible Arrangement of Content pages. Content pages are reflected by corresponding object structures on server side, allowing to run each content separated from other content. Content pages can be started in parallel. Content pages either run in a central area or can be isolated as modeless popup windows. Hotkey switch between opened content pages. Startable content can be arranged in function trees. Several function trees can be arranged as outlook bar. Favorites as list or square. Page 12
Components Workpage Container Workpage Selector Function Tree Drag & Drop of favorites from function trees. Area in which multiple content pages can be started. User sees a tab for each content page and can switch between tabs. Arrangement of start-able functions. Page 13
Favorites Component Library (HTML Client) Positioning Development Process Non-Positioning Components Simple, form based HTML. HTML pages to be rendered on sub-devices (hand-held devices, etc.). As less JavaScript as possible is used internally in order to provide a high level of browser compatibility. Development of HTML pages is done in exactly the same way as with rich pages. Usage of same tools. Component Library is explicitly not designed to support high end HTML scenarios (including usage of AJAX etc.). In case you want to provide high end HTML pages: check usage of different JSF libraries but still JSG is the common technology used within your backend processing! Overview Label Field Text output. Input field. Password Button Password field. Button. Page 14
Link Command Link Check box Radio button Combo box Image Span Container Components Pane Scrolling Pane Include Modal Popup With/without text. With/without icon. Link to extenal pages. Link that behaves the same way as a button. Check box. Radio button. Combo box. Image output. Scaled / unscaled. Any HTML text. Table container. Table container inside a scrollable area. Nesting of pages: one JSP running within another JSP. Container opened as modal popup. Grid Components Page 15
Component Grid Grid Header Line Grid Footer Line Grid containing diverse other components as content. Server side paging. Additional lines to be placed in front of / following the content part of the grid. CaptainCasa GmbH Hindemithweg 13 D - 69245 Bammental +49 6223 484147 www.captaincasa.com info@captaincasa.com Page 16