OpenSource ACDK Project
Xue Changyu
ACDK is a development framework similar to Microsoft .NET platform or Sun's Sun ONE platform, as Microsoft's C # language or Sun's Java language is based on C as its core execution language.
ACDK :: lang, ACDK :: SQL, ACDK :: XML and other libraries. Today's epidemic technology, such as flexible memory allocation / garbage collection technology, threads and Unicode are implemented in the core of ACDK.
[D] YNAMIC [M] Ethod [i] NVocation (Dynamic Method) is provided using ACDK C extension. Using DMI to provide a universal object-oriented call interface for connecting C and various scripting languages (Java, Perl, TCL, Python, CFGScript, Lisp, Visual Basic, VBScript), and standard components (CORBA, COM ).
Provide ACDK :: WX, which is a Rich Platform stand-alone GUI user interface library, providing C and various script language graphical support.
Features provided by ACDK
ACDK includes a lot of tool sets for creating a portable portable application
The following description will be included in the preface of the ACDK's characteristic document and the ACDK manual. CACDL is composed of a series of libraries, which currently includes 56M source code, with more than 3,000 files and 1,500,000 lines of code and 5000 classes.
* Core characteristics
o Provides a language structure characteristic similar to Java language with C
Object garbage recovery technology
Object model similar to Java class and interface
o Source code is pure C
o Provides support for main operating system platforms:
Windows 95 - Windows XP
Linux
FreeBSD
Solaris
o Similar to the core library of Java
java.lang -> ACDK :: LANG
java.lang.ref -> ACDK :: Lang :: REF
java.lang.reflect -> ACDK :: Lang :: Reflect
java.io -> ACDK :: IO (with limited)
java.util -> ACDK :: Util
java.util.logging -> ACDK :: Util :: Logging
Java.Text -> ACDK :: Text
java.net -> ACDK :: Net
java.locale -> ACDK :: Locale (add character's codec)
Java.security -> ACDK :: Security
java.sql -> ACDK :: SQL
org.xml.sax, org.w3c.dom -> Org :: xml :: sax, org :: w3c :: dan, org :: w3c :: Dom :: xpath.
...
o Standard Java features
Unicode support
Thread
Object Synchronization (Objects with Wait and Notify / NotifyAll)
Method of synchronization or blocking method
Exception mechanism (Excetions with backtrace)
A portion of the CLASSES or basic element type arrays similar to Java increased relative to Java
Object variables provide better performance as a heap variable
Function Properties Unique
Function Parameter Properties in, Out, INOUT, BYVAL, BYVALIN, BYVALOUT, BYVALINOUT
Enhanced Memory Allocation Characteristics and Customizable Garbage Recycling Mechanism
o Reflection
Running Time (Runtime) includes:
# Class name: Namespace, base class name, public / private
# Members: Static, Public / Protection / Private, Member Type, Member
# With parameters of constructor (constructor) (see: method)
# Method: Static, Public / Protection / Private, Return Value Type, Type of Parameters, and Parameter Name, Experative Description.
# Property is similar to the attribute of C #, as well as Java Annotations.
Load the class and library through the name
o Dynamic Method Invocation Interface (Dynamic Method Description Language Interface) (DMI).
Establish an object using the name of the class
Use the name identification to read / write ordinary and static member variables
Use the name identification to call ordinary or static methods
O object serialization and persistence of objects
SUMS
Save the object to a 2 credit or in the XML file.
Replication of serialized objects (low-level or high level)
Comparison of serialized objects
Java compatible serialized objects (included in ACDK_JAVA).
* More advanced features
o Based on BYE and CHAR enhanced IO library
All IO-CLASSES offers Reader / Writer Charreader / CharWriter interface
All IO-CLASSES Provides FilterReader / FilterWriter or Storage Interface
Free combination Readers / Writers
o Enhanced file interface
Provide interfaces for different file systems.
# 普通 operating system file system
# Resource file system embedded in executable or library
# ZIP compressed package ZIP file system
# TAR file system of TAR compression package
#FTP file system Provides remote file access
o Regular expression.
o XML processing
Explanation Use SAX (2) interface
Interpreter Support for DOM
Validating XML Files
Selecting XML Using XPath
Support DOM tree in memory
You can use XML serial / anti-serialization ACDK objects
Similar to DOM4J
o Similar to the JDBC database interface
WINDOWS ODBC
Mysql
Oracle
Postgres
* Configuration - Test - Debug
o Platform-independent Make file, you can generate GNU GMAK Makefiles, BSD Make, Nmake, Microsoft Visual Studio (.dsw / .dsp).
O Regression Tests THROUGH a Unit Test Concept.
o Document system uses Javadoc's habits
o Online manual and HTML help.
o Complete tracking and logging, using a frame structure similar to log4j
o Online Model (Alpha)
* Script integration
o All ACDK objects can use the ACK DMI interface to use scripting language to use scripting language
Use cfgscript (integrated with Java / JavaScript similar to the interpretation engine)
Using LISP (Integrated Interpretation Engine)
Use Java
Use Perl
Use TCL
Use python
Use VBScript (Windows ONLY)
Use JavaScript (Windows Only) using Visual Basic (Windows Only)
o Embed a script interpretation engine in a circle function to ACDK
Use cfgscript
LISP
Perl
Java
TCL
Python
JavaScript
VBScript
o
* Platform independent GUI program development
o Support for the development of Rich GUI programs under Windows or UNIX
o ACDK C or CFGScript uses ACDK WX to establish a GUI application
* Integration of distributed computing technology
o Corba
Most of the class and interfaces can be used as a CORBA service object without any more programming and code generation.
Embedded SKELETON and stub builders provide simple but powerful ACDK language mappings (similar to Java language mapping)
DII, DSI, and IR support any ACDK class.
Most of the CORBA objects can be used by ACDK without any more SKELETON or stub
Enhanced Corba Object Communication for ACDK Object Supporting Function Overloading Using IIOP.
O COM
All class crane interfaces can be used as a COM / ActiveX component, and do not require any more programming and code generation.
All ActiveX components can be easily used by ACDK, do not require any more programming and code generation to use simple language mapping
A VBScript or JavaScript-interface can be embedded in your application
Program: Provide full-feasive access ActiveX components from Linux, Solaris, Macos X, and FreeBSD do not require any more programming and code generation
Program: Provide full-featured access running in Linux, Solaris, Macos X, and FreeBSD access via DCOM in Windows, no more programming and code generation
o .NET / C-Sharp (plan)
Full access .Net libraries do not require any more programming and code generation.
All ACDK classes can be called .Net calls, no more programming and code generation
Program: Integrate .NET applications (servers or clients) in Linux, Solaris, Macos X, and FreeBSD.
o XML-RPC (plan)
Full-featured remote calls use XML and TCP / IP
o Enhanced SOAP (plan)
Standard SOAP HTTP-Server
The method of static ACDK classes can be called through SOAP
Enhanced distributed computing using SOAP
* Full-featured interaction in scripting language and distributed computing technology
o Driving CORBA objects through the ActiveX client
o Controls the DCOM application through the CORBA client
o Use perl to control the ActiveX application
o Use the Visual Basic to use the CORBA server application
o Use the script to perform the C interface, originate from the C class.
o Use the classes of the scripting language to go as a COM / CORBA server object
O and more other joint features ....
This is an article I am free to translate, introducing the distributed framework acceptk. This is a foreign country, but there is no project in China. I hope everyone can like it because it is very casual, so there is no school translation of the content in the text, so it is inevitable that many shortages, please forgive
Xue Changyu
Changning@ynmail.com
2004-12