

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 – Web Service Edition.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
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
Table/Diagram 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
PartnerWorld > Global Solutions Directory > .Net Providers for DB2 – Web
Service 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
|
✔
|
✔
|
✔
|
Table/Diagram 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.
CNUX .Net
Providers - Web Service Edition is ideal for SOA and secured n-tier
implementation. The web service
providers are split into two parts: Service Consumers and Service Providers.
The
Service Consumers library integrates seamlessly with the front end web
application typically located in the DMZ, while the Service Providers are
located within your internal network and communicates with the database
backend.
Diagrams 3
& 4 below are two commonly used network configurations when DMZ is used to
host web applications:

Table/Diagram 3.
Secured N-tier network model using DMZ and a
three legged firewall

Table/Diagram 4.
Secured N-tier network model using DMZ and dual
firewalls
The
following two sections explain how the CNUX .Net Providers Service Consumers
and Service Providers work in conjunction with the Microsoft® ASP.Net
services.
In the top
layer of the Web Server - Service Consumers portion (see diagram 5) 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 communicate with the
Service Providers directly. Instead all
operations are done via the CNUX.ProvidersServiceConsumer Concrete
Classes.
If any
controls need to be customized and are calling methods are not already
available within the Microsoft® ASP.Net services framework, the
CNUX.ProvidersServiceConsumer concrete classes can be inherited and
extended/overridden in the extended classes layer. In general this approach can be used for
moving custom data between Service Consumers and Service Providers, or performing
functionalities that are not within the scope of Microsoft® ASP.Net services.
All
CNUX.ProvidersServiceConsumer classes and custom extended classes communicate
with their respective Service Providers ASMX objects via SOAP messages.
In the top
layer of the Application Server - Service Providers portion (see diagram 5) are
ASMX objects that communicate with the Service Consumers. These Service Providers in turn call
Microsoft® ASP.Net services in the second layer. These services do not store and manage data
in the data storage directly. Instead
all operations are done via the CNUX 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 development: MyExtended.OracleProvider.OracleMembershipProvider.DeleteUser
ODP.Net development:
MyExtended.OracleProvider.OracleMembershipProvider.DeleteUser
DB2 development:
MyExtended.DB2Provider.DB2MembershipProvider.DeleteUser

Table/Diagram 5.
CNUX .Net Providers – Web Service Edition 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, v9.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 tables 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
|
Table/Diagram 6.
CNUX .Net Providers table
Service
|
CNUX .Net Provider Service Consumer
|
Membership
|
CNUX.ProvidersServiceConsumer.WebServiceMembershipProvider
|
Role
Management
|
CNUX.ProvidersServiceConsumer.WebServiceRoleProvider
|
Site Map
|
CNUX.ProvidersServiceConsumer.WebServiceSiteMapProvider
|
Profile
|
CNUX.ProvidersServiceConsumer.WebServiceProfileProvider
|
Session State
|
CNUX.ProvidersServiceConsumer.WebServiceSessionStateStore
|
Web
Events
|
CNUX.ProvidersServiceConsumer.WebServiceWebEventProvider
|
Web
Parts Personalization
|
CNUX.ProvidersServiceConsumer.WebServicePersonalizationProvider
|
|
|
Table/Diagram 7.
CNUX .Net Service Consumers 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
|
Table/Diagram 8.
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
|
Table/Diagram 9.
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
|
Table/Diagram 10.
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
|
Table/Diagram 11.
CNUX .Net Role Provider and its custom methods
and properties
Provider : Base Class
|
Custom Methods and Properties
|
OracleSiteMapProvider
: StaticSiteMapProvider
DB2SiteMapProvider
: StaticSiteMapProvider
|
Initialize
BuildSiteMap
|
Table/Diagram 12.
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
|
Table/Diagram 13.
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
|
Table/Diagram 14.
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
|
Table/Diagram 15.
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
|
Table/Diagram 16.
CNUX .Net Web Parts Personalization Provider and
its custom methods and properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceMembershipProvider
: 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
|
Table/Diagram 17.
Membership Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceRoleProvider
: RoleProvider
|
AddUsersToRoles
ApplicationName
CreateRole
DeleteRole
FindUsersInRole
GetAllRoles
GetRolesForUser
GetUsersInRole
Initialize
IsUserInRole
RemoveUsersFromRoles
RoleExists
|
Table/Diagram 18.
Role Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceSiteMapProvider
: StaticSiteMapProvider
|
Initialize
BuildSiteMap
|
Table/Diagram 19.
Site Map Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceSessionStateStore
: SessionStateStoreProviderBase
|
CreateNewStoreData
CreateUninitializedItem
Dispose
EndRequest
GetItem
GetItemExclusive
Initialize
InitializeRequest
ReleaseItemExclusive
RemoveItem
ResetItemTimeout
SetAndReleaseItemExclusive
SetItemExpireCallback
|
Table/Diagram 20.
Session State Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceProfileProvider
: ProfileProvider
|
ApplicationName
DeleteInactiveProfiles
DeleteProfiles
(ProfileInfoCollection)
DeleteProfiles
(string[])
FindInactiveProfilesByUserName
FindProfilesByUserName
GetAllInactiveProfiles
GetAllProfiles
GetNumberOfInactiveProfiles
GetPropertyValues
Initialize
SetPropertyValues
|
Table/Diagram 21.
Profile Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServiceWebEventProvider
: BufferedWebEventProvider
|
Initialize
ProcessEvent
ProcessEventFlush
Shutdown
|
Table/Diagram 22.
Web Event Service Consumer + custom methods &
properties
Consumer : Base Class
|
Custom Methods and Properties
|
WebServicePersonalizationProvider
: PersonalizationProvider
|
ApplicationName
FindState
GetCountOfState
ResetState
ResetUserState
|
Table/Diagram 23.
Web Parts Personalization Service Consumer +
custom methods & 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.