The document discusses serialization, ADO.NET, data tier approaches, and persistence frameworks. Serialization allows persisting an object's state to storage and recreating it later. ADO.NET provides classes for connecting to and interacting with databases. Common data tier approaches include presenting data directly to the presentation layer, adding a business logic layer, or adding a service layer between business logic and data access. Persistence frameworks aim to simplify data access by encapsulating object persistence behaviors like reading, writing, and deleting objects from storage.
This presentation gives introduction to ADO.Net.
Basic introduction to connected & Disconnected architecture.
and explain the each every component in Ado.net
This presentation gives introduction to ADO.Net.
Basic introduction to connected & Disconnected architecture.
and explain the each every component in Ado.net
ADO.NET by ASP.NET Development Company in india
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components.
Video :
Courtesy:
http://www.ifourtechnolab.com
ADO.NET Architecture
Data processing has traditionally relied primarily on a connection-based, two-tier model. As data
processing increasingly uses multi-tier architectures, programmers are switching to a
disconnected approach to provide better scalability for their applications.
UNIT : -(6)
CONNECTING DATABASE WITH ADO.NET
Content:
•ADO.NET Architecture
•Data provider and its core object
•DataSet class
•Data Binding
•SQL Data Source
ADO.NET by ASP.NET Development Company in india
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components.
Video :
Courtesy:
http://www.ifourtechnolab.com
ADO.NET Architecture
Data processing has traditionally relied primarily on a connection-based, two-tier model. As data
processing increasingly uses multi-tier architectures, programmers are switching to a
disconnected approach to provide better scalability for their applications.
UNIT : -(6)
CONNECTING DATABASE WITH ADO.NET
Content:
•ADO.NET Architecture
•Data provider and its core object
•DataSet class
•Data Binding
•SQL Data Source
MongoDB - A next-generation database that lets you create applications never ...Ram Murat Sharma
MongoDB is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster.
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. The session will demonstrate how to create and consume these new technologies from the ground up and focus on database modeling including views and stored procedures along with coding against the model via LINQ. Dynamic data website will also be demonstrated. Lots of code! Make sure to attend Part 2.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
4. Serialization
What is Serialization?
The ability to persist an object’s state data
to a given location (remote server, file,
memory, etc.)
The ability to read persisted data from a
given location and recreate a new type
based on the preserved stateful values
Plays an important role with ADO.NET and
distributed architectures
6. Serialization
Serialization is used by .NET Remoting
and .NET Web Services to send objects
back and forth
The .NET Framework provides 3 built-in
class for serialization:
XmlSerializer
BinaryFormatter
SoapFormatter
8. Serialization
Differences:
XmlSerializer: only serializes public
variables, serializes to standard XML
BinaryFormatter: serializes all variables
(public, private, etc.), serializes to bytes
SoapFormatter: serializes all variables
(public, private, etc.), serializes to SOAP
Demo
9. Serialization
Implications:
BinaryFormatter is the fastest
XmlSerializer is normally second fastest (depends
on the amount of non-public variables)
SoapSerializer is normally the slowest
XmlSerializer should be used for multi-
platform/language clients (used by Web Services)
BinaryFormatter / SoapFormatter is targeted for
.NET environments
10. Serialization
How objects are passed
MBV – Marshal by Value
The caller receives a full copy of the object in its
own application domain
Object code is executed in the local application
MBV objects are declared by using the
[Serializable] attribute, or by inheriting from the
ISerializable interface
[Serializable]
public class MBVClass{…}
OR
public class MBVClass: ISerializable
11. Serialization
How objects are passed
MBR – Marshal by Reference
The caller receives a proxy to the remote object
Object code is executed in the remote
application
MBR objects are declared by inheriting from
MarshalByRefObject
public class MBRClass : MarshalByRefObject
12. Serialization
Visualization
Order Order
1. Request Order
2. Receive Order
Order Order
1. Request Order
2. Receive Order Proxy
3. Request
Calculate
Total
3. Request
Calculate
Total
4. Display Total
5. Calculate Total
4. Send Calculate Request
6. Send Total7. Display Total
MBV
MBR
Machine A Machine B
15. ADO.NET
What is ADO.NET?
Framework that allows you to interact with local and
remote data stores
Major overhaul of ADO (few similarities)
Optimized libraries for SqlServer (+CE), Oracle
Generic libraries for ODBC, OleDb
Intrinsic support for Xml
Focused on both connected and disconnected
systems
16. ADO.NET
High-Level View
IDbDataAdapter IDbCommand IDataReader
IDbConnection
DB
Client
A managed provider implements
these interfaces to provide access
to a specific type of data store
DataSet
In-Memory Disconnected
18. ADO.NET
IDbConnection
Represents a network connection to a relational
database
Resource intensive, so connections should be kept
open as little as possible (pass through if possible)
Connection Pooling is automatically enabled for
.NET IDbConnection implementations
a connection pool is created based on an exact matching
algorithm that associates the pool with the connection
string
19. ADO.NET
IDbCommand
Represents a SQL statement that is
executed while connected to a data source
Provides 3 primary means of submitting a
SQL statement:
1. ExecuteNonQuery – nothing returned
2. ExecuteScalar – 1 field returned
3. ExecuteReader – returns IDataReader
implementation
20. ADO.NET
IDbCommand cont.
Used for standard SQL text and/or stored
procedures
Allows for parameters to be passed in via
an IDataParameter implementation
22. ADO.NET
IDbDataAdapter
Acts as a bridge between your database
and the disconnected objects in ADO.NET
Object’s Fill method provides an efficient
way to fetch the results of a query and place
them into a DataSet or DataTable (which
can then be used offline)
Reads cached changes from a DataSet or
DataTable and submits them to the
database
23. ADO.NET
DataTable
One of the central objects in ADO.NET
Used by DataSet, DataView, etc.
Represents one table of data in-memory
Allows you to:
Fetch data from a DB and store it in a DataTable
Disconnect from the DB and work with the
DataTable offline
Reconnect and synchronize changes
24. ADO.NET
DataTable cont.
DataTable structure is similar to DB Table
structure:
DataTable is composed of DataRows
DataRows are composed of DataColumns
Constraints can be set on a DataTable
DataTables can also be created and
populated in code (they do note require a
corresponding DB Table)
28. ADO.NET
DataSet (La Femme Nikita)
Major component of the ADO.NET
architecture
Collection of DataTables
Allows for relationships between tables to
be created via DataRelation
Allows constraints to be set on data
29. ADO.NET
DataSet cont.
Can read and write data and schema as
XML documents
Can be remoted (allows for both MBV and
MBR)
Strongly-typed DataSets can be generated
Can access tables and columns by name,
instead of using collection-based methods
Allows for VS.NET Intellisense
30. ADO.NET
DataSet cont.
Ability to merge multiple DataSets
Ability to copy DataSets
Uses DiffGram (XML) to load and persist
changes
DEMO
32. ADO.NET
XmlDataDocument
Solves problem of unsychronized access to
relational / XML data
Example:
DataSet (relational) writes out XML file
XmlDocument reads in and manipulates XML
Two objects dealing with same data in
unsynchronized manner
Result is a disconnect
33. ADO.NET
XmlDataDocument cont.
Synchronizes data between XmlDocument
and DataSet
Allows both objects to work on the same set
of data
Allows a single app, using a single set of
data, to harness the power of:
DataSets (remoting, databinding, DataViews...)
Xml (XPath, XSL, XSLT…)
35. ADO.NET
IDbConnection Best Practices
Pass through whenever possible
Use constant connectionstrings
Use multiple accounts (1 for read access, 1 for
read/write access, etc.)
Use Windows Authentication
If stored in config file, encrypt
Avoid displaying error sensitive error information
Avoid using OleDbConnection.State
Use the “using” statement in C#
37. ADO.NET
IDataReader Pros and Cons
Extremely fast performance (better than
DataSet)
Forward-only, read-only
Can only operate in connected mode
Must explicitly close both the IDataReader
and the IDbConnection
Not remotable
38. ADO.NET
IDataReader Best Practices
Use CommandBehavior.CloseConnection and
CommandBehavior.SequentialAccess when
possible
Use IDataReader.Get[Type]() whenever possible
(performance boost)
Call IDataReader.Cancel() if you’re done w/ a
DataSet but still have pending data
Keep connection time to a minimum
Use for large volumes of data to avoid memory
footprint
39. ADO.NET
DataTable / DataSet Pros and Cons
Both MBV and MBR behavior
Ability to work with data offline
Ability to represent the same data in multiple ways
via DataView
Data bindable
Decreased performance in comparison w/
IDataReader
Consumes machine memory
Developers must be careful when posting changes
in a distributed environment
40. ADO.NET
DataSet Best Practices
Strongly-type when possible
Use for modifiable data and or data that will be
navigated
Use for caching of frequently searched items
Use DataSet.GetChanges() prior to sending across
the wire
Avoid the use of the DataAdapter.Fill overload that
takes startRecord and maxRecords parameters
Use MBR behaviour sparingly
41. ADO.NET
CommandBuilder Pros / Cons
Removes the need to manually write code
Decreased performance, due to the need to hit a
database twice to retrieve schema information
Decreased performance due to very verbose SQL
statements
Better to use VS.NET’s built-in code generation
MS: Use of the CommandBuilder should be limited
to design time or ad-hoc scenarios
43. ADO.NET
Issues w/ ADO.NET
No bulk SQL execution (DataSet batch submissions
aren’t done in bulk)
No asynchronous calls
Can’t write to interfaces…must use providers
directly
Inability to get full SQL from
IDbCommand.CommandText when using params
No object-relational mapping
No SQL API
45. Data Tier Approaches
Presentation - Data
Data
Access
Code
Data
Access
Code
DBBus
Logic
Bus
Logic
Data
Access
Code
Data
Access
Code
Bus
Logic
Bus
Logic
46. Data Tier Approaches
Presentation – Data
Often has best performance
Initially the fastest to write (but often requires the
most code over time)
Inflexible to change
Business logic not available
Results in code duplication (business logic…)
Error prone (connection strings, closing
connections, etc.)
Leaves architecture decisions to implementer (i.e.
DataSet, DataReader, etc.)
Ties presentation layer to returned data format
48. Data Tier Approaches
Presentation – Data w/ DAL
Requires less code
Somewhat flexible to change
Business logic not available
Results in code duplication (business
logic…)
Ties presentation layer to returned data
format
50. Data Tier Approaches
Presentation – Business – Data
Much more flexible to change
Business logic is centralized
Does not tie presentation layer to returned data
format
More complex to design and build
Implicit changes may need to be cascaded through
all layers
Does not clearly address remoting issues
Business Logic must still be aware of DA classes
51. Data Tier Approaches
Presentation – Business – Service – Data
Data
Access
Layer
Data
Access
Layer
DB
Bus
Logic
Layer
Bus
Logic
Layer
Service
Access
Layer
Service
Access
Layer
Local Local or remote
52. Data Tier Approaches
Presentation – Business – Service – Data
Most flexible to change
Most scalable (but decreased performance)
Clearly provides remoting capabilities
Business Logic does not need to be aware of DA
classes
Most complex to design and build
Implicit changes may need to be cascaded through
all layers
53. Persistence Frameworks
Where do Persistence Frameworks fit
in?
Data
Access
Layer
Data
Access
Layer
DB
Bus
Logic
Layer
Bus
Logic
Layer
Service
Access
Layer
Service
Access
Layer
Map Business Entity
objects to relational data
Provide CRUD operations
Provide object caching
Provide object versioning
Provide for remote
persistence
Map to Business
Objects
55. Persistence Frameworks
What is an Object Persistence
Framework?
A persistence layer encapsulates the
behavior needed to make objects persistent,
in other words to read, write, and delete
objects to/from permanent storage
Simplifies life for developers by removing
the need for repetitive coding
Focus is on persistence at the Object level
vs. the Data level
56. Persistence Frameworks
Persistence Frameworks in Context
Data
Access
Layer
Data
Access
Layer
Service
Access
Layer
Service
Access
Layer
DBWebsiteWebsite
Caching
Service
Caching
Service
Bus
Logic
Layer
Bus
Logic
Layer
Bus
Logic
Layer
Bus
Logic
Layer
Smaller Distributed
Architecture
Client
Server
57. Persistence Frameworks
Persistence Frameworks in Context
DB
WebsiteWebsite
Larger Distributed
Architecture
Caching
Server
Bus
Logic
Layer
Bus
Logic
Layer
Service
Access
Layer
Service
Access
Layer
Data
Access
Layer
Data
Access
Layer
Caching
Service
Caching
Service
WebsiteWebsite
Bus
Logic
Layer
Bus
Logic
Layer
Bus
Logic
Layer
Bus
Logic
Layer
Web Services Server
Client
Machine
Web
Servers
58. Persistence Frameworks
Desired Attributes
Support for run-time and design-time object
relational mapping
Built-in logging / tracing
Object caching
Object versioning (optimistic and pessimistic
concurrency)
Support for multiple databases
Support for multiple persistence types (file,
RDBMS)
59. Persistence Frameworks
Desired Attributes
Support for transactions
Support for cursors
Support for lazy-loading
Support for multiple architectures (local, remote…)
Built-in security models (object caching
encryption…)
Support for batch operations
SQL API
Configurable performance
Still provides access to ADO.NET classes
64. Persistence Frameworks
Caching Considerations
Allow for both local and remote caching
Local: Hashtable, MMF, etc.
Support both serialized and non-serialized
Remote: .NET Remoting, SQL Server, etc.
Provide Scavengers (LRU, LILO, Expiration…)
Provide object encryption
Provide size maximums
Provide caching stats (Hits/Misses/Duration)
Allow for multiple cache instances
67. Resources
Microsoft Patterns & Practices website
MS: Designing Data Tier Components and Passing
Data Through Tiers
MS: .NET Data Access Architecture Guide
MS: ADO.NET Best Practices
Martin Fowler: Patterns of Enterprise Application
Architecture
David Sceppa: ADO.NET
Clifton Nock: Data Access Patterns
Sun: Core J2EE Patterns
Andrew Tobias: C# and the .NET Platform