On the week of February 19, 2001, the Kick Start Team assembled for a comprehensive design session of the Internet Component Framework (ICF). The requirements outlined by the design session attendees are listed below:
Basic
- Repository-driven development environment
- Define coding standards
- Define appl. design standards
- Stds-focused UI design
- Define db design standards, boundaries
- Prescriptive but extensible
- Well-documented API with independent components
- High-performance (Web/LAN/WAN)
- n-tier design (separate UI and Logic)
- Scalability -- stateless design
- Database Independence (Progress, Oracle, SQLServer, DB2/400) based on standards
UI Generation
- Support design of UI in tools
- Support 4GL UI (WebClient)
- Support Internet UI (*ML/WebSpeed)
- Browser independence, graceful degradation
- UI for display / browse / maintenance
- UI for appl. Navigation
- Remote development/maintenance
- Dynamic UI generation / thin client (little to no client-side code)
- Competitive, standard Look and Feel
- Extended UI controls (Treeview, Toolbar, Statusbar, FrameSet
- Flexibility to support additional UIs (ActiveX, Handheld, etc.)
Session Mgmt
- Distributed Environment management (configuration)
- Distributed Object Mgmt
- Global data management
- Error/Message handling and logging (no standard for this)
- Context Management
Customization
- Customize UI (Only on function level not operational or navigation)
- Customize BusinessLogic
- Customize Process flow
- Customization tool for consultants, ISVs (Uses the AppBuilder)
- Customization tools for end-user
s
Security
- Authentication / Login
- User/Group Maintenance
- Privilege definition tool (Funcational not Data level)
- Runtime enforcement at function, row, field level
Migration
- Facilitate rewrite/rework of existing business logic
- Populate design repository
- Migrate/Recreate User Interface
- Provide smooth transition for V9 ADM applications (no rewrite of existing SmartObject procedure files)
Performance
- High-performance (Web/LAN/WAN)
- Stateless server/agent support
- Highly scalable deployment
- Minimize network traffic
Future-proof
- Abstract appl. Representation
- Standards-observant
- Multiple UIs including new ones in the future
Important Other
- Online Help (Limited but possible)
- Version control of application
- Multi-language, globalization
- Multi-currency (Application based?)
- Batch processing (print etc.)
- Reporting integration (as per normal C/S)
Business Logic
- Generate Data Access from schema / repository
- Generate Referential Integrity and other basic business logic
- Support appl. Process flow definition
- Standard mechanism for accessing business logic on the server and getting data from server
B2B support
- Application integration with XML not standard but assumed as part of the application
- Integration with SonicMQ
ASP Support
- Auditing / Accounting (Also includes organizational and data management features)
- Support entities as groups
- Support multi-entity data management
Globalization
- Multi-language (translation of UI text)
- Multi-language (translation of translatable data)
- Multi-regional formatting (dates, decimals, currency)
- Double-byte support (UNICODE db)
- Facilitate migration of TranMan data and procedures
Supportability
- Facilitate supportability / maintainability
- Remote application support
- Error tracking, debugging
Deployment
- Customize object distribution & flexible deployment
- Configuration management, location transparency
- Release management
- Installation / Upgrade automation
Versioning
- Manage versions within the repository
- Support multiple customer versions of one base core version
Standards
- XML support for application integration
- Potential XML schema for repository
- XML as data delivery mechanism
- XML on the client
- Integration with modelling tools (UML/XMI)
Doc/QA
- Facilitate auto-generation of Doc, Help, Tests
- Provide comprehensive documentation
- Provide online help for all major UIs (Web, WebClient)