SourcePro® C++ for Enterprise C++ Development

SourcePro® C++ is the most complete enterprise C++ development platform

Rogue Wave® SourcePro® C++ is a set of cross-platform enterprise C++ development components that ensure the delivery of effective C++ applications that are on time, on budget, and work exactly to specification. It includes a complete set of documentation, source code, and support.

Overview

SourcePro®C++ consists of the following components:

  • SourcePro® Core offers an extensive set of fundamental C++ components that present a consistent, uniform, and portable API for developing applications. Industry-leading enterprises have relied on SourcePro Core components for well over a decade to deliver the reliability and performance required by today's mission-critical applications. They are the most trusted enterprise-class C++ component libraries on the market today.
  • SourcePro® DB abstracts the complexity of writing database applications, yet allows developers to drill down to the native database client libraries if needed.
  • SourcePro® Net lets developers create secure and non-secure networked and Internet-enabled applications by handling the granular details of socket programming and Internet protocols that expedites the timely delivery of quality applications.
  • SourcePro® Analysis contains a full range of C++ components for solving mathematical problems in business and research. The algorithms they encapsulate can be relied upon for accurate and precise calculations.

Features and Benefits

SourcePro® Core Features

Features Benefits
Consistent and intuitive API across supported platforms Applications run on multiple operating systems, with minimal code changes.
Higher-level, object-oriented interface to complex underlying APIs Applications run on multiple operating systems, with minimal code changes.
Robust and complete implementation of the ANSI/ISO Standard C++ Library specification Extensible interface to the powerful facilities of the C++ language.
Extends the ANSI Standard C++ Library with additional functionality Easier for developers to manipulate features like dates and times in their applications.
Complete set of string processing classes An easier and less error-prone way to work with single, multibyte, and wide character strings.
Multiple, extensive sets of collection classes Developers have the flexibility to select the classes that best meet their specific needs.
Variety of extensible virtual stream classes Developers can choose to maximize efficiency, portability, or both.
Non-intrusive streaming mechanism Intuitive API makes it possible to stream nearly any C++ class with minimal code changes.
Enables C++ data to be written to or read from an XML stream Easier to integrate functionality that uses XML to communicate into existing C++ applications, and adds instream transformation, enabling developers to easily apply XML transformations and stream data in one operation.
Complete, Unicode-based framework for internationalizing and localizing C++ applications Enables rapid development of applications targeted for global markets.
Advanced threading abstractions like IOUs, server pools, and producer/consumer queues Extends the basic threading functionality, giving developers an added advantage when creating multithreaded applications.
Efficient and flexible execution tracing facility Easier for developers to identify the source of errors in applications.
Functor classes for retrofitting existing single-threaded applications Developers can improve the performance of an existing application rather than starting from scratch.
C++ encapsulations of key multithreading concepts such as thread creation, control and synchronization Insulates developers from the low-level complexities of dealing with the native C threading library implementations.

SourcePro® DB Features

Features Benefits
Consistent, object-oriented programming interface to multiple back-end databases Encapsulates leading relational database vendors' APIs and is universal for all applications regardless of which database is used.Frees developers from dealing with the low-level details of a particular database vendor's API, allowing them to concentrate on domain-specific issues and build appropriate data models.Allows developers to write programs that are reusable with many different types of relational databases.Allows developers to drill down to the native database APIs for added control when needed.Be freed from having to generate SQL programmatically.
C++ classes that encapsulate SQL 92 Data Manipulation Language (DML) and Data Definition Language (DDL) constructs Quickly learn to code multi-database applications because only one API must be learned.Higher-level abstractions allow for shorter, cleaner applications and facilitate code reuse.
Open SQL interface Take advantage of database-specific features to maximize performance.Gain tight control over statements and their binding and execution semantics.
Optional schema caching Improves performance in situations where database schemas do not change often.
"Native" Access Modules for Oracle, Sybase, Microsoft SQL Server, MySQL Server, PostgreSQL Server, DB2, Informix, and ODBC Provides native, high-performance implementations for supported vendor databases.Port to other databases with minimal code changes.
Support for distributed transactions with SourcePro® DB XA Provides a single, XA-compliant programming interface to leading databases and TPMs.Allows SourcePro DB to co-exist with a TPM in a highperformance, transaction-heavy environment.

SourcePro® NET Features

Features Benefits
Flexible, layered architecture Choose the level of abstraction right for the application.
Clean, intuitive API for developing secure or non-secure networking and Internet-enabled applications Easy to understand and become productive quickly without having to master the low-level details of dealing with sockets, Internet protocols and SSL/TLS directly.
Intuitive C++ interface to the Berkeley socket API Developers who have used the de facto standard-Berkeley socket API-in the past will quickly master the Essential Networking Module's C++ socket API.
Flexible C++ encapsulations of key Internet protocols including FTP, HTTP, SMTP or POP3 Perform complete protocol transactions with minimal code to quickly add Internet capabilities to C++ client applications or drill down for control over the fine-grained details of the protocol.
Conditional support for the HTTP 1.1 specification Provides a C++ implementation of key areas of the latest HTTP specification, allowing developers to take advantage of specification improvements and create Internet applications conforming to the latest standards.
C++ encapsulation of the MIME message format Encapsulates the low-level details of the MIME message format with a higher-level, intuitive API, reducing development time and allowing developers to quickly add MIME support to their applications.
Support for both encryption and authentication (X509 certificates) Provides everything needed to quickly implement a simple secure connection between a client and a server.
Intuitive API for secure communication using HTTPS Higher-level, intuitive API to the HTTPS protocol reduces development time because developers don't have to deal with protocol level code.
Based on proven, respected SSL/TLS implementations Higher-level, consistent C++ interface to the leading vendors' security algorithms that developers know and trust.

SourcePro® Analysis Features

Features Benefits
Intuitive C++ interfaces to essential mathematical algorithms Encapsulates the complexity of working with mathematical algorithms, thus shortening the learning curve and increasing productivity.Provides an easier way to map mathematics to C++, allowing developers to devote more time to value-added business logic instead of focusing on C++ implementation details.
Accuracy and precision Reliable algorithms for accurate, precise calculations.
Intuitive C++ classes for performing numerical linear algebra Encapsulates and offers comparable performance to the FORTRAN LAPACK library.Easily translates linear algebra problems from mathematics to C++ code through an efficient, intuitive, easy-to-use interface.Provides simple, higher-level interfaces, while allowing for additional control when needed for more complex situations.
C++ classes for performing sophisticated data analysis for business intelligence Allows mathematical objects to be expressed naturally, using the arithmetic operators developers are accustomed to using.Developers can choose one of the provided model selection techniques or calculation methods, or define their own.
Intuitive C++ classes for handling currency and money Supplies transparent currency conversions and monetary calculations, improving developer productivitySimplifies adaptation of existing and newly built systems to accommodate the euro.Allows for the simple, highly flexible formatting of decimals.Allows developers to extend or override default conversion algorithms to design an application that meets business needs.Provides the flexibility to specify the source of the exchange rates, making it easier to use live feeds or other sources of data.
Decimal classes for representing and manipulating decimal fractions exactly Represent up to 28 digits of precision, ensuring accuracy.Allows developers to extend or override default conversion algorithms to design an application that meets business needs.

How it Works

SourcePro C++ Suite

SourcePro® Core contains an extensive set of fundamental and advanced C++ components that handle many of the intricacies of the C++ language and provides a complete framework for the internationalization and localization of applications targeted for the global market. SourcePro Core also helps developers create C++ applications that share data with diverse systems by simplifying the complexities of working with XML.

SourcePro® DB provides a complete solution for relational database access in C++. SourcePro DB has an object-oriented interface that abstracts the complexity of writing database applications, yet allows developers to drill down to the native database client libraries if needed. SourcePro DB encapsulates ANSI SQL 92 and provides a consistent, high-level C++ interface to relational databases which speeds development and reduces complexity. SourcePro DB has a layered architecture made up of the database-independent Interface Module and a variety of database-specific Access Modules. The layered architecture allows developers to write programs that are reusable with different types of databases. This frees developers from having to understand the details associated with a particular database vendor's API. SourcePro DB provides direct access to Oracle®, Sybase®, DB2®, Microsoft SQL Server™ for Windows® and UNIX, MySQL® database server and PostgresSQL server.

SourcePro® Net simplifies the creation of secure or non-secure networked and Internet-enabled applications by handling the granular details of socket programming and Internet protocols, which allows developers to deliver quality applications on schedule. Designed with a layered architecture, SourcePro Net gives developers the flexibility to choose the level of abstraction appropriate for their application. Developers can use the most abstract layer for ease of use, or can access the protocol layer if they need finer control over critical details.

SourcePro® Analysis contains a wide range of C++ components for solving mathematical problems in business and research. Developers can rely on the algorithms in SourcePro Analysis for accurate, precise calculations that allow them to focus on building appropriate data models.

What's New

SourcePro® C++ Edition 10, Update 1 is Now Available!

In addition to the features available in Edition 10, the following have been added for Update 1:

New Operating System:

  • HP-IPF

New compiler:

  • VS 2008

New database:

  • Oracle 11G

What's New in SourcePro® C++ Edition 10?

SourcePro® DB Edition 10

Additional Database Version Support

  • DB2® V9
  • Informix® Client Software Development Kit (CSDK) 3.00 (Windows)

New Features and Enhancements

  • Derived Tables
  • Correlated Sub-queries in RWDBUpdater and RWDBDeleter
  • Configurable RWZone use for DateTime data sent and retrieved from databases
  • Includes the Apache C++ Standard Library
  • Ability to explicitly add and remove tables in RWDBSelector implicit FROM clause
  • Configurable result set cache
  • Query timeouts when accessing DB2, Informix and ODBC Access Modules
  • RWDBTracer thread ids
  • Table names in MSSQL, ODBC, Informix, and DB2 Access Modules allow quotes
  • RWDBValue API to provide type as string

SourcePro® Core Edition 10

  • Full integration of the Apache™ C++ Standard Library (stdcxx project, currently in incubation at Apache™)
  • New RWZone database, with time zone information for the entire world
  • SMTP AUTH support in protocols
  • IPV6 support on all platforms
  • Enhanced ThreadPool so that users can resize as needed

Platform support:

  • Microsoft®Windows Vista®
  • SUSE® Linux Enterpirse 10
  • Red Hat® Enterprise Linux® 5.0
  • SUSE® Linux Enterprise 9 Service Pack 3
  • Win2k3 x64 AMD

New Compilers:

  • Sun® Studio 11 on Solaris™ 8,9 and 10
  • Sun Studio 12 on Solaris™ 9 (AMD) and 10
  • IBM®Visual Age® 9.0 on AIX® 5.3
  • Intel® C++Compiler 10.0