

CNUX
Technologies is pleased to announce the first COMPLETE customized .Net
Providers for Oracle® and IBM® DB2® is now available.
Click here
to download the entire product information in PDF format CNUX .Net Providers.pdf 
↓ Features Summary
CNUX .Net
Providers are a custom .Net web state-management framework based on Microsoft®
ASP.Net 2.0 specifications and guidelines.
It is a complete framework consisting of Membership Provider, Role
Provider, Site Map Provider, Session State Provider, Profile Provider, Web
Event Provider and Web Parts Personalization Provider. CNUX .Net Providers framework is specifically
designed for use
§
Database:
Oracle® 8i, 9i, 10g, 11g or above database engine
Client: Microsoft® .Net Framework Data Provider for Oracle®, Oracle® Data
Provider for .Net (ODP.Net)
Data provider used for your
development
|
Oracle Client installed on your
IIS
|
8i v8.1.7
|
9i v9.2
|
10g R1
|
10g R2
|
10g XE
|
11g
|
Microsoft .Net Oracle Data Provider
|
Oracle 9iR2 client
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle ODAC 9.2.0.7.0
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle ODAC 10.1.0.3.0
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle ODAC 10.1.0.4.0
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle 10gR2 client
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle ODAC 10.2.0.2.21
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
|
Oracle 10gXE client
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
Oracle ODP.Net v9.2.0.7.0
|
Oracle ODAC 9.2.0.7.0
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
Oracle ODP.Net v10.1.0.3.0
|
Oracle ODAC 10.1.0.3.0
|
✘
|
✘
|
✘
|
✘
|
✘
|
✘
|
Oracle ODP.Net v10.1.0.4.0
|
Oracle ODAC 10.1.0.4.0
|
✘
|
✔
|
✔
|
✔
|
✔
|
✔
|
Oracle ODP.Net v10.2.0.1.0
|
Oracle 10gR2 Client
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
Oracle ODP.Net v10.2.0.2.20
|
Oracle ODAC 10.2.0.2.21
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
Oracle ODP.Net v11.1.0.6.20
|
Oracle ODAC 11.1.0.6.20
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
Figure 1. CNUX .Net Providers for Oracle®
Compatibilities Matrix
§
Database:
IBM® DB2® UDB v8.2, v9.1 and v9.5 database engine on all operating systems

IBM
PartnerWord > Global Solutions Directory > .Net Providers for DB2 –
Standard Edition
Client: IBM® DB2® .Net Data Provider v9.1 or above
Data provider used for your
development
|
DB2 Client installed on your IIS
|
V8.2
|
V9.1
|
V9.5
|
IBM DB2 .Net Data Provider v8.2
|
IBM DB2 .Net Data Provider 8.2
|
✘
|
✘
|
✘
|
IBM DB2 .Net Data Provider v9.1
|
IBM DB2 .Net Data Provider 9.1
|
✔
|
✔
|
✔
|
IBM DB2 .Net Data Provider v9.5
|
IBM DB2 .Net Data Provider 9.5
|
✔
|
✔
|
✔
|
Figure 2. CNUX .Net Providers for Oracle®
Compatibilities Matrix
.Net Providers
model is part of the .Net 2.0 framework that provides a standardized method to
easily manage web page states. It
includes the state-management of Membership, Role, Site Map, Session State,
Profile, Web Event, Web Parts Personalization.
The .Net Providers
model makes it possible to store such information in various storage media such
as XML and databases.
If a
database is used as the storage media of choice, the framework allows
customization for various database vendors such as Oracle® and IBM® DB2®. Microsoft® has provided the .Net Providers
for use with Microsoft® SQL Server as the out-of-the-box solution.
For more
information about the Microsoft® ASP.Net model, please refer to http://msdn2.microsoft.com/en-us/library/aa479030.aspx.
Figure 3
illustrates how the CNUX .Net Providers work in conjunction with the Microsoft®
ASP.Net services. In the top layer are
UI controls such as Login, CreateUserWizard and other .Net application codes
that call Microsoft® ASP.Net services.
In the second layer lie the base classes for Microsoft® ASP.Net
services. These services do not store and
manage data in the data storage directly.
Instead all operations are done via the providers as Concrete
Classes.
If any
methods of the concrete classes need to be further customized, the concrete
classes can be inherited and extended/overridden in the extended classes
layer. For example, when the Membership.
DeleteUser method is called, the corresponding record in the custom users table
in the Oracle®/DB2® database can also be reset by calling the method
MS Oracle Data Provider client:
MyExtended.OracleProvider.OracleMembershipProvider.DeleteUser
ODP.Net client: MyExtended.OracleProvider.OracleMembershipProvider.DeleteUser
DB2 client: MyExtended.DB2Provider.DB2MembershipProvider.DeleteUser

Figure 3. The CNUX .Net Providers Model
All
CNUX .Net Providers are built for the Microsoft® ASP.Net Framework 2.0, 3.0 and 3.5,
and 100% compliant and compatible with the information and requirements
documented in the Microsoft® ASP.Net 2.0 model.
There is
no behavioural difference when compared to the out-of-the box .Net Providers
for SQL Server provided by Microsoft®.
CNUX .Net Membership Provider and
Role Provider are 100% Compatible with Microsoft® ASP.Net Web Site
Administration Tool.
Other
providers are not applicable.
CNUX .Net Membership Provider and
Role Provider are 100% compatible with Microsoft® SharePoint® 2007 server.
Please
note that Microsoft® SharePoint® 2007 server does not support customization of
providers other than Membership and Role.
All CNUX .Net Providers are 100%
compatible with the Oracle® 8i/9i/10g/11g and IBM® DB2® UDB v8.2, 9.1 and v9.5 database
engines.

Programming with CNUX .Net
Providers is a snap.
CNUX .Net
Providers offers concrete classes that can be easily incorporated into any web
projects using the Microsoft® Visual Studio® environment by placing the CNUX
.Net Providers module in your Microsoft® Visual Studio® project’s bin directory and modify a couple of
settings in the web.config file.
The Microsoft® ASP.Net Providers
base classes expose methods that can be called from your client code. Code
calls are forwarded to the concrete CNUX .Net Providers classes which provide
the implementation.
All CNUX
.Net Providers classes are derived from the abstract Microsoft® ASP.Net
providers classes and therefore can be replaced or extended with any
implementation you require via inheritance should any further customization be
required.
The
following table illustrates all the services and the corresponding CNUX .Net
Providers:
Service
|
CNUX .Net Provider
|
Membership
|
CNUX.OracleProvider.OracleMembershipProvider
|
|
CNUX.ODPNETProvider.OracleMembershipProvider
|
|
CNUX.DB2Provider.DB2MembershipProvider
|
Role
Management
|
CNUX.OracleProvider.OracleRoleProvider
|
|
CNUX.ODPNETProvider.OracleRoleProvider
|
|
CNUX.DB2Provider.DB2RoleProvider
|
Site Map
|
CNUX.OracleProvider.OracleSiteMapProvider
|
|
CNUX.ODPNETProvider.OracleSiteMapProvider
|
|
CNUX.DB2Provider.DB2SiteMapProvider
|
Profile
|
CNUX.OracleProvider.OracleProfileProvider
|
|
CNUX.ODPNETProvider.OracleProfileProvider
|
|
CNUX.DB2Provider.DB2ProfileProvider
|
Session State
|
CNUX.OracleProvider.OracleSessionStateStore
|
|
CNUX.ODPNETProvider.OracleSessionStateStore
|
|
CNUX.DB2Provider.DB2SessionStateStore
|
Web Events
|
CNUX.OracleProvider.OracleWebEventProvider
|
|
CNUX.ODPNETProvider.OracleWebEventProvider
|
|
CNUX.DB2Provider.DB2WebEventProvider
|
Web
Parts Personalization
|
CNUX.OracleProvider.OraclePersonalizationProvider
|
|
CNUX.ODPNETProvider.OraclePersonalizationProvider
|
|
CNUX.DB2Provider.DB2PersonalizationProvider
|
Figure 4. CNUX .Net Providers table
All CNUX
.Net Providers conform to the Thread Safety requirements as documented in http://msdn2.microsoft.com/en-us/library/aa479030.aspx.
Without
thread safety the code can produce data corruption and hard to reproduce
sporadic errors due to the following summarized nature of Microsoft® ASP.Net
providers architecture:
§
Microsoft®
ASP.Net providers are instanced once and shared among requests
§
Each
request is processed on a different thread drawn from a thread pool
§
A
provider can be accessed by multiple threads concurrently
Transactions
are applied to all singleton/multiple method calls and database updates to
guarantee atomicity according to suggestions as documented in http://msdn2.microsoft.com/en-us/library/aa479030.aspx.
All CNUX
.Net Providers trap all errors and throw exceptions according to guidelines as
documented in http://msdn2.microsoft.com/en-us/library/aa479030.aspx.
In addition, Exception Messages
thrown by CNUX .Net Providers are sensitive to the user’s web browser settings
and display in the corresponding language.
Currently Exception Messages are provided in 简体中文 (Chinese-Simplified), 繁體中文 (Chinese-Traditional), Nederlands
(Dutch), English, Français (French) and 日本語
(Japanese).
CNUX .Net
Providers support all the ASP Roles as follows:
CNUX .Net Providers supported Roles
|
ASP.Net Providers supported Roles for SQL Server
|
aspnet_WebEvent_FullAccess
|
Same
|
aspnet_Roles_ReportingAccess
|
Same
|
aspnet_Roles_FullAccess
|
Same
|
aspnet_Roles_BasicAccess
|
Same
|
aspnet_Profile_ReportingAccess
|
Same
|
aspnet_Profile_FullAccess
|
Same
|
aspnet_Profile_BasicAccess
|
Same
|
aspnet_PSN_ReportingAccess
|
aspnet_Personalization_ReportingAccess
|
aspnet_PSN_FullAccess
|
aspnet_Personalization_FullAccess
|
aspnet_PSN_BasicAccess
|
aspnet_Personalization_BasicAccess
|
aspnet_MBRship_ReportingAccess
|
aspnet_Membership_ReportingAccess
|
aspnet_Membership_FullAccess
|
Same
|
aspnet_Membership_BasicAccess
|
Same
|
aspnet_WebEvent_FullAccess
|
Same
|
Figure 5. CNUX .Net Providers supported ASP Roles vs. Microsoft®
ASP.Net Providers supported Roles for SQL Server
CNUX .Net
Providers support all the ASP Views as follows:
CNUX .Net Providers supported Views
|
vw_aspnet_Applications
|
vw_aspnet_Users
|
vw_aspnet_MembershipUsers
|
vw_aspnet_Roles
|
vw_aspnet_UsersInRoles
|
vw_aspnet_Profiles
|
vw_aspnet_WebPartState_Path
|
vw_aspnet_WebPartState_Shared
|
vw_aspnet_WebPartState_User
|
Figure 6. CNUX .Net Providers supported ASP Views
For more
information about ASP Roles and Views, please refer to http://msdn2.microsoft.com/en-us/library/ms164596.aspx.
All SQL
related coded are embedded within stored procedures to reduce traffic and
processing overhead incurred by TCP/IP, Stream Pipe, Named Pipe, Local Loopback
or Shared Memory between code and the database engine.
The
internet is without borders, and so should your web site. All CNUX .Net Providers are multi-language
Unicode compatible. All user character
attributes are defined as Unicode columns to record data of any language.
Even the
Exception Messages thrown by CNUX .Net Providers are sensitive to the user’s
web browser settings and display in the corresponding language. Currently Exception Messages are provided in 简体中文 (Chinese-Simplified), 繁體中文 (Chinese-Traditional), Nederlands
(Dutch), English, Français (French) and 日本語
(Japanese).
All user
timestamp attributes are defined as UTC columns to accurately record date-time
data of any time zone.
CNUX .Net
Providers have implemented the full contract defined by the Microsoft® ASP.Net
providers base class related to custom database access. Here is a list of all the CNUX .Net Providers
and their methods and properties:
Provider : Base Class
|
Custom Methods and Properties
|
OracleMembershipProvider
: MembershipProvider
DB2MembershipProvider
: MembershipProvider
|
ApplicationName
ChangePassword
ChangePasswordQuestionAndAnswer
CreateUser
DeleteUser
EnablePasswordReset
EnablePasswordRetrieval
FindUsersByEmail
FindUsersByName
GetAllUsers
GetNumberOfUsersOnline
GetPassword
GetUser
GetUserNameByEmail
Initialize
MaxInvalidPasswordAttempts
MinRequiredNonAlphanumericCharacters
MinRequiredPasswordLength
PasswordAttemptWindow
PasswordFormat
PasswordStrengthRegularExpression
RequiresQuestionAndAnswer
RequiresUniqueEmail
ResetPassword
UnlockUser
UpdateUser
ValidateUser
|
Figure 7. CNUX .Net Membership Provider and its custom
methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleRoleProvider
: RoleProvider
DB2RoleProvider
: RoleProvider
|
AddUsersToRoles
ApplicationName
CreateRole
DeleteRole
FindUsersInRole
GetAllRoles
GetRolesForUser
GetUsersInRole
Initialize
IsUserInRole
RemoveUsersFromRoles
RoleExists
|
Figure 8. CNUX .Net Role Provider and its custom
methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleSiteMapProvider
: StaticSiteMapProvider
DB2SiteMapProvider
: StaticSiteMapProvider
|
Initialize
BuildSiteMap
|
Figure 9. CNUX .Net Site Map Provider and its custom
methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleSessionStateStore
: SessionStateStoreProviderBase
DB2SessionStateStore
: SessionStateStoreProviderBase
|
CreateNewStoreData
CreateUninitializedItem
Dispose
EndRequest
GetItem
GetItemExclusive
Initialize
InitializeRequest
ReleaseItemExclusive
RemoveItem
ResetItemTimeout
SetAndReleaseItemExclusive
SetItemExpireCallback
|
Figure 10. CNUX .Net Session State
Provider and its custom methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleProfileProvider
: ProfileProvider
DB2ProfileProvider
: ProfileProvider
|
ApplicationName
DeleteInactiveProfiles
DeleteProfiles
(ProfileInfoCollection)
DeleteProfiles
(string[])
FindInactiveProfilesByUserName
FindProfilesByUserName
GetAllInactiveProfiles
GetAllProfiles
GetNumberOfInactiveProfiles
GetPropertyValues
Initialize
SetPropertyValues
|
Figure 11. CNUX .Net Profile Provider and its custom
methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleWebEventProvider
: BufferedWebEventProvider
DB2WebEventProvider
: BufferedWebEventProvider
|
Initialize
ProcessEvent
ProcessEventFlush
Shutdown
|
Figure 12. CNUX .Net Web Event Provider and its custom
methods and properties
Provider : Base Class
|
Custom Methods and Properties
|
OraclePersonalizationProvider
: PersonalizationProvider
DB2PersonalizationProvider
: PersonalizationProvider
|
ApplicationName
FindState
GetCountOfState
ResetState
ResetUserState
|
Figure 13. CNUX .Net Web Parts Personalization Provider
and its custom methods and properties
4.11.
Shared Session State
Shared Session
State is an enhanced
feature of CNUX .Net Providers. It
allows multiple web applications to pass information to and from one another. It supports passing of all complex data
types, such as collections, that are supported by Microsoft® ASP.Net Session State
management.
This feature is particularly useful for environments
where a single sign-on application is used for general user authentication and
multiple web applications can be invoked or spawned within it once a user’s
identity is verified. From there on
information can be passed to and from the sign-on application and the spawned
applications.
4.12.
Database Failover/Database Clustering
All CNUX
.Net Providers can be deployed to Database Failover/Database Clustering
environments.

To help
you get started with programming with CNUX .Net Providers, we provide code
examples to illustrate how easily each customized state-management provider can
be incorporated into your software.
These sample programs are provided in 简体中文 (Chinese-Simplified), 繁體中文 (Chinese-Traditional), Nederlands
(Dutch), English, Français (French), Deutsch (German), 日本語
(Japanese) and Español
(Spanish). (Language specific Microsoft®
Visual Studio® is required for controls to display in native languages).
In addition to programming examples, we also
include a sample Custom Membership web site to demonstrate how the framework
can be incorporated into your existing Oracle®/DB2® environment and
applications.
Details on
how to setup CNUX .Net Providers for SharePoint® 2007 are also included.
Note: All sample codes are NOT REDISTRIBUTABLE.
A complete User Guide that includes
§
Oracle/DB2
database schema installation instructions
§
Programming
guide that includes set up, extendibility
§
Code
examples description





Please
feel free to contact us and ask for a quotation. Development license is FREE.
1 year
unlimited e-mail support and product upgrade as new releases become available.
You need Adobe Acrobat Reader to access the CNUX .Net Providers EULA file
.
10.
Trial
Software
Trial
software is available upon request with the following limitations:
§
Trial
software only allows creation of up to 5 users and 2 roles.
§
During
execution random messages about trial software will appear.
§
Trial
software is not compatible with SharePoint® 2007.
Please
feel free to request a copy of CNUX .Net Providers
– Trial Version now!
§
Sitemap:
Currently automatic reloading of site map data based on data-change monitoring
is not implemented.
§
Session State:
Currently it does not support session state partitioning.
12.
Release Notes
You can access the Release Notes here.
Click here
to continue on to Features Summary.
Trademarks
Microsoft,
Visual Studio, Visual Basic, Visual C#, Visual C++, Visual J# and SharePoint
are either registered trademarks or trademarks of Microsoft Corporation in the United States
and/or other countries.
Oracle, JD
Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation
and/or its affiliates.
IBM, DB2
are registered trademarks of International Business Machines Corporation in the
United States
or other countries or both.