Object Oriented Technologies
The object-oriented development approach is widely used in the software industry since the 90s and is reasonably considered as the only way to manage software complexity and produce large software systems that are easy to maintain and extend. The essence of the object-oriented approach is to break a system to a hierarchy of manageable pieces (systems, subsystems, modules, objects), thus to represent several levels of abstraction. This approach is similar to some ways people organize their knowledge about the Nature - through discovering regularity and introducing abstraction. Most of the technologies used by Novosoft employ the object-oriented approach: J2EE, J2ME, .NET, CORBA, Novosoft-FL, Novosoft-Zebra etc.
During the last 10 years Novosoft has developed several proprietary object-oriented tools and technologies widely used inside the Company for developing various large-scale projects. The most interesting ones are NSUML (publicly available on sourceforge.net) and NSMDF.
NSMDF - Novosoft metadata framework is based on JMI specification and intended to generate classes that are required by JMI specification and also provides additional services like event notification, undo/redo support, and XMI support. NSMDF is based on Novosoft UML Library
NS UML Novosoft UML library provides the following services: implementation of complete UML 1.3 physical metamodel, easy to use interfaces, event notification, undo/redo support, reflective API, XMI loading/saving. NS UML is currently being integrated in the Open Source UML Modeling Tool ArgoUML. It will supply an efficient and complete UML 1.3 metamodel implementation for this tool.
FL - a complex solution for semi-automated development of persistence layers for J2EE platform. FL provides: OR-mapping technology, based on Rational Rose UML to Java code generator (includes generation of SQL scripts and Java classes using JDBC). FL supports OQL-queries, persistent objects mass-loading and particular update.
Zebra - a tool for rapid development of various applications with a user interface from a Rational Rose UML model. The full-functional "state machine" used in ZEBRA allows to successfully develop the "business logic" and provide its interaction with the user interface. Zebra utilizes Model-View-Controller (MVC) model, which allows user interfaces developed on different technology platforms (SWING, JSP, XML) to be used for interaction with the same business logic.
Areas of expertise
- Object Relational mappers
- Object-Oriented middleware layers development
- UML processing and code generation
- RAD tools