Company Structure Change Management System
Highlights: The system for companies' structure change management and business performance analysis
Type: Complete solution
Architecture: 3-tier distributed system
Platform: Java 2, Oracle 8i
Technologies: Java, Swing, TOPLink, Java 2D, XML, JavaMail, Object Relational Mapping, RMI, JDBC

The Change Companion represents system for establishing activity sequences and hierarchies, capturing, updating status and disseminating (viewing, printing, summarizing, building presentations) change activity information, enabling selection of methodologies and a deployment strategy appropriate for the levels in the organization, current environment and situation, and desired outcomes. For example, deploying the Action Strategy Review module at the division level to define the strategies and some high level initiatives; deploying problem solving teams on the shop floor, and a Process Reengineering effort in Marketing and Sales; with scorecards for critical performance measures company-wide.

As a data repository for all activity data, from top-level strategies and initiatives to individual action plan tasks to raw scorecard data, provides visibility, in summary and detail, of objectives, action plans, status, and graphs. Individuals can directly access activities in which they are involved, and are e-mailed notification of their inclusion in new activities. Security is maintained by assigning edit or update permission on an activity/project basis, with all other areas available for viewing only.

The system allows maintaining the structure of any size organization and allows specifying particular business processes list for the each organizational level. Each business process is represented by set of diagrams those define data model and graph of operations. The system provide powerful diagram editing capabilities with easy to use graphical user interface with proven drag and drop editing, reach formatting and layout options etc. The specially designed repository allows storing diagram building blocks and even whole diagrams in a way that provides reusing them across the whole enterprise.

All the data entered and maintained by the Change Companion may be used in the different business analytic methodologies like Balanced Scorecard, Six Sigma etc. It allows modeling of organization structure changes and counting different business performance calculations and selecting the best and effective way to reorganize business. The diagram versioning capabilities allow gaining historical analysis for any period of time.

As the data entered to the Change Companion database may be very important for the enterprise the system imposes strict rules to access particular system functionality and different kinds of the data. Only authorized users may get access to the system and only the administrator could assign required permissions to the particular user. The system maintains distribution of the users among access groups that allows specifying of permissions per access group or per particular user basis.

The system introduces company profile concept that allows hosting the data for the several companies on the one physical server. It allows decreasing the total cost of ownership for the small companies while maintaining strict isolations of one company data and operations from another company ones.

The project is implemented in Java language using Borland JBuilder 4 as development tool.

The system is implemented as distributed application. It consists of end user client application server, relational database and management console.

The business logic and database access middleware reside on the homegrown application server written in Java as well. The application server exposes its services through Java RMI protocol. To gain object-oriented access to the database, the TOPLink middleware is used. It connects to the Oracle 8i database through JDBC protocol. Having such an object-oriented access simplifies development and isolates developers from low-level API calls and differences between particular relational databases.

XML is used as primary interchange format that allows communication between running systems, export/import and backup operations etc.

Java Swing library is used to build GUI Java client application. Standard GUI components as well as extended and specially developed ones are utilized for GUI creation.

Java Mail API is used to send confirmations about changes in the user activity or involvement.