Sunday, June 15, 2008

MOBILE MESSAGING TECHNOLOGIES AND SERVICES - SMS, EMS and MMS

The first edition of this book was published in late 2002. It covered SMS, the Enhanced
Messaging Service (EMS), and MMS. At that time, SMS was already a very successful
service and MMS was emerging. Following the growing interest in MMS, I published a
second book dedicated to MMS in late 2003. The second edition of this book builds up from
the two previous books. All chapters have been completely revised according to the most
recent developments in standardization, but also according to my own experiences, specifying
embedded messaging solutions for a manufacturer of mobile devices and in designing
MMS solutions for a large group of operators.
The first chapter of this book introduces the evolution of mobile telephony from its origins
with the deployment of first generation systems, followed by the introduction of second
generation systems supporting digital communications and packet-based transmissions.
Emerging third generation systems are also described along with the latest developments
in the standardization of techniques for digital rights management. Chapter 2 proposes to
demystify the ‘‘too often’’ obscure structures and procedures of standardization organizations.
It is of key importance to understand how these organizations produce the necessary
messaging standards in order to design interoperable commercial solutions. Chapter 3 is
dedicated to the Short Message Service. Firstly, it describes major use cases and quickly
progresses into the technical details of the service. Chapter 4 focuses on the standard
application-level extension of SMS known as the Enhanced Messaging Service. It explains
how to create rich-media content and how to distribute this content over SMS as a transport
bearer. Chapters 5 and 6 are entirely dedicated to the Multimedia Messaging Service.
Chapter 5 explains the service use cases, the overall architecture, and describes how
multimedia messages can be designed. Chapter 6 focuses on protocol aspects, presenting
the technical realization of each of the MMS interfaces. A set of appendices complement the
contents of all chapters and a comprehensive index has been compiled for this book to
represent a practical reference companion for solution architects, telecommunication
engineers, standardization practitioners, instructors, and students.
I must admit that one of the primary reasons for writing books is that it represented for me
a very good opportunity for pretending not to have enough time for washing dishes by hand,
hovering the flat, and tidying up my desk. My wife, Marie-Ame´lie, recently discovered the
trick and it became a real challenge to finish this book according to the agreed timelines,
while being obliged to do the hand-washing of dishes at the same time. We recently
purchased a second-hand dish-washer. This really improves our daily living. I have now
realized that I do not need to write books anymore to pretend not to have enough time for
washing dishes. I may still consider writing articles from time to time, a good reason for
pretending not to have the time to clean the table and put dirty dishes in the beloved dishwasher.

RFID Security

RFID Security is focused on the technical security aspects of using RFID—specifically the security of the physical and data layers (i.e., Layer 1 andLayer 2).The multitude of questions regarding RFID applications are influenced by the policy decisions of implementing certain applications, and by
the philosophical and religious outlook of the parties involved. Generally,those matters are not discussed, except where a security decision directly influences a privacy policy. (See “United States Passports” in Chapter xx.)

We often embrace new technology without understanding the security issues.We tend to cast a cynical eye at marketers’ hyperbole concerning performance.Even so, sometimes we fail to be cynical regarding security claims(or lack thereof ) surrounding new technology. Security is often considered secondary to other issues of certain technologies. RFID is being used in multiple areas where little or no consideration was given to security issues.

Although RFID is a young technology, the security of some RFID systems has already been compromised. In January 2005, the encryption of ExxonMobil’s SpeedPass and the RFID POS system was broken by a team of students (as an academic exercise at Johns Hopkins University), because
common rules concerning strong encryption were not followed.

In February 2006, Adi Shamir, professor of Computer Science at the Weizmann Institute, reported that he could monitor power levels in RFID tags using a directional antenna and an oscilloscope. He said that patterns in the power levels can be used to determine when password bits are correctly
and incorrectly received by an RFID device. Using that information, an attacker can compromise the Secure Hashing Algorithm 1 (SHA-1), which is used to cryptographically secure some RFID tags.
According to Shamir, a common cell phone can conduct an attack on RFID devices in a given area. (Shamir coauthored the Rivest, Shamir, & Adleman (RSA) public-key encryption in 1977.) As this book was nearing completion, a group at Amsterdam’s Free University in the Netherlands created RFID viruses and worms as a “proof of concept.”This group fit a malicious program (malware) onto the memory area of a programmable RFID chip (i.e., a tag). When the chip was queried by the reader, the malware passed from the chip to the backend database, from where the malware could be passed to other tags or used to carry out malevolent actions.The exploits employed, including Structured Query Language (SQL) and buffer overflow attacks, are generally used against servers. By not understanding the mistakes of the past, people commit the same mistakes again.This book helps people think about preventing those mistakes and executing security measures.

Because RFID is based on radio waves, there is always the potential for unintended listeners. Even with the lowest powered radios, the distance that a signal travels can be many times more than considered the maximum (e.g., at the DefCon 13 security convention in Las Vegas, Nevada, in July 2005, some consultants received a response from an RFID device from 69 feet away,
which is a considerable distance for a device designed to talk to its reader at less than 10 feet.
Additionally, radio waves can move in unexpected ways; they can be reflected off of some objects and absorbed by others.This unpredictability can cause information from an RFID tag to be read longer than intended, or it can prevent the information from being received.

The ability to receive RFID data further away than expected opens RFID to sniffing and spoofing attacks. Being able to trigger a response from a tag beyond the expected distance makes RFID systems susceptible to denial-of-service (DOS) attacks, where radio signals are jammed with excessive amounts of data that overload the RFID reader.

Thursday, June 12, 2008

The Business Case for Enterprise-Class Wireless Lans

Several good books have been written on the various technical aspects of wireless local-area networks (WLANs), including devices, networking protocols, and radio technologies. Network designers and administrators wanting to learn and apply the technical nuts and bolts of WLANs have no shortage of reference material to consult.

What is more challenging to find is a single reference on the lifecycle aspects of WLAN solutionsthat is, a guide that covers the business considerations, which include the value proposition, cost-justification, and alignment of security, architecture, and operational components with the business. We wrote this book to address that shortage by examining WLANs from a lifecycle perspective. The scope extends from the identification of the business value that a WLAN can bring to your organization to how to build and operate your enterprise-class WLAN.

The nature of LANs has evolved to include the adoption of wireless transport as a primary medium. Today, enterprise-class equipment and solutions enable companies to pursue aggressively an investment in wireless LAN technology. However, this relatively simple transport mechanism can quickly become complex when introduced into the enterprise.

The Business Case for Enterprise-Class Wireless LANs takes a business approach to wireless networking. This goal is achieved by focusing more on strategic and business justifications and less on the intricacies of the underlying technology. However, a baseline analysis of WLAN technology is included, empowering you to understand the complex technology-related decisions detailed later. Most books on WLANs go into great technical detail and are therefore off-putting to our audience. Therefore, this book will not cover WLAN technology to that degree of detail.

The book also provides advice on the business and high-level technical issues you should consider. Specifically, the book offers guidance on how to identify and mitigate challenges surrounding large-scale enterprise deployments. Finally, because real-world examples form a valuable baseline against which to compare your specific WLAN consideration, various case studies of WLAN deployments in large organizations are included to complement and ground the theoretical methodologies and frameworks.

Organization and Approach

The Business Case for Enterprise-Class Wireless LANs focuses on the decision making and business justification in addition to the WLAN execution program management effort. Throughout the book, you find reader-friendly descriptions, quick reference sheets, diagrams, and visual layouts that aid in explaining all topics. Case studies provide real-world touchpoints on the topics discussed. The book adopts a four-part structure, as follows:

· Part I, "The Fundamentals of Wireless LAN Strategic Planning," provides a succinct technical introduction to the technology and concepts surrounding wireless networking. This section also outlines the strategic rationale and business drivers that you will have to consider when contemplating a WLAN deployment. You will be given explanations of how to construct a strategic outlook based on financial, technological, and operational considerations, thus providing the foundation for making well-informed business decisions. Additionally, Part I is designed to allow you to address high-level technical architecture interests. Part I includes the following chapters:

o Chapter 1, "Introduction to Wireless LAN Technologies" This chapter will help you develop the basic understanding of WLAN technology that is needed for effectively using this book. The OSI framework illustrates how WLANs relate to other internetworking technologies, including LAN, WAN, and mobile cellular solutions. The framework will also help position the WLAN-specific concepts that are covered throughout the remainder of this chapter.

o Chapter 2, "Business Considerations" This chapter provides frameworks for tackling the challenge of business-technology alignment and identification of opportune application points for WLANs within the organizational ecosystem. Quantitative, qualitative, and risk considerations are covered to provide an exhaustive view. Finally, given the importance of economic returns, the most common financial barometers including return on investment, payback period, Net Present Value, and internal rate of return are described in detail.

o Chapter 3, "Preparation and Planning" This chapter focuses on the preparation and planning considerations that are critical for successfully deploying your enterprise WLAN. Our aim is to provide a structured approach for your deployment, highlighting areas that require preparatory work, as you need to identify management and technical dependencies that are unique to your context.

o Chapter 4, "Supplementary and Complementary Services" This chapter covers supplementary services and applications. These include voice, video, guest WLAN acess, and location-based services (LBS). Complementary and supplementary services greatly increase the complexity of your network by adding several incremental challenges. This chapter outlines the benefits and challenges that are associated with each enhanced service. In addition, strategies to identify the proper mix and implementation of these services are discussed to maximize the positive impact and success of the services.

· Part II, "Wireless LAN Architecture, Design, and Deployment," addresses the key areas of architecting, designing, and deploying an enterprise-class WLAN. Most of the concepts focus on enterprise deployments, although some examples are easily transposable to non-enterprise environments. This part also deals with the challenges of WLAN security, which covers security concepts, threats, and mitigation strategies in more detail. Finally, Part II provides recommended practices for managing your WLAN after it has been deployed. This part of the book includes the following chapters:

o Chapter 5, "Guidelines for a Successful Architecture and Design" This chapter demystifies the process of creating a scalable and robust WLAN design. The focus is on providing a structured catalog of fundamental architectural considerations that will help you construct an efficiently functioning WLAN. The chapter also provides recommendations on how to develop a successful architecture. Finally, it clarifies the most important technical aspects of wireless LANs that do not apply to traditional wired ones.

o Chapter 6, "Wireless LAN Deployment Considerations" This chapter discusses the implementation considerations that are required when deploying an enterprise-class WLAN. Enterprise-class WLAN deployments are complex and lengthy processes that include many interdependent factors. Methodologies and frameworks are provided that will help guide the WLAN deployment along the critical path and minimize the execution risk associated with the program.

o Chapter 7, "Security and Wireless LANs" This chapter describes how to think securely in the context of IT communications infrastructure. Fundamental security vulnerabilities are tackled, and methods are provided for identifying security threats. Security terms and protocols are introduced in addition to key WLAN security components and security standards. Finally, the chapter discusses how to address the security threat and craft a scalable security management strategy and platform.

o Chapter 8, "Management Strategies for Wireless LANs" This chapter introduces the fundamentals of wireless network management, the unique challenges associated with managing wireless networks, and the various strategies that can be adopted to support this critical area.

· Part III, "Wireless LAN Deployment Case Studies," provides real-world case studies of WLAN solutions implemented by various enterprise-class institutions. These studies outline the requirements and constraints from these institutions and reveal the recommended practices for each. Key hurdles and lessons learned from actual deployments complement the ideals and theoretical notions outlined in this book. This part includes the following chapters:

o Chapter 9, "Enterprise Case Study" This chapter provides a detailed case study of the global WLAN deployment of Cisco Systems Inc. The question for Cisco IT was not whether WLANs should be deployed, because Cisco had long since identified the many benefits offered by the technology, but rather how Cisco could cost-effectively maintain control, reduce overall support costs, ensure that a secure wireless infrastructure was used, and still provide benefits to Cisco employees. This chapter discusses why and how Cisco pursued its enterprise-wide WLAN deployment.

o Chapter 10, "Healthcare Case Study" This chapter covers the strategic drivers of Lifespan's WLAN deployment and the progressive uses of WLAN in the healthcare environment. The WLAN's impact on Lifespan's business model is discussed, as is the strategy that the organization employed for designing, implementing, and operating its WLAN solution.

o Chapter 11, "Manufacturing Case Study" This chapter discusses a deployment of a WLAN in a large and successful manufacturing company. The specific demands and constraints that the manufacturing industry imposes on WLANs are touched upon, as are the strategies that the company employed to accommodate these specific needs.

o Chapter 12, "Education Case Study" This chapter introduces an extremely successful deployment of WLANs in the educational vertical. Griffith University in Queensland, Australia, deployed a university-wide WLAN to provide increased IT services, reduce the load on existing computing labs, and supplement the existing wired network infrastructure. This chapter covers the rationale for providing students and staff with the mobility benefits offered by WLAN technology and how the university executed its plan.

· Part IV, "Appedixes," includes the following:

o Appendix A, "Wireless LAN Standards Reference" This appendix provides summary descriptions of the various WLAN standards, including the infamous "802.11 alphabet soup."

o Appendix B, "Wireless LAN Security References" This appendix provides descriptions and definitions of the many facets of WLAN security.

o Appendix C, "Example Project Plan for an Enterprise-Class WLAN Deployment" This appendix is composed of examples that have been proven to be successful in developing and deploying an enterprise-class WLAN.

Finally, a glossary of terms is included for your convenience and review.


Building Scalable Web Sites

Slow websites infuriate users. Lots of people can visit your
web site or use your web application - but you have to be prepared for
those visitors, or they won't come back. Your sites need to be built to
withstand the problems success creates.

Building Scalable Web Sites looks at a variety of techniques for creating sites that can keep users cheerful even when there are thousands or millions of them. Flickr.com developer, Cal Henderson, explains how to build sites so that large numbers of visitors can enjoy them. Henderson examines techniques that go beyond sheer speed, exploring how to coordinate developers, support international users, and integrate with other services from email to SOAP to RSS to the APIs exposed by many Ajax-based web applications.

This book uncovers the secrets that you need to know for back-end scaling, architecture and failover so your websites can handle countless requests. You'll learn how to take the "poor man's web technologies" - Linux, Apache, MySQL and PHP or other scripting languages - and scale them to compete with established "store bought" enterprise web technologies. Toward the end of the book, you'll discover techniques for keeping web applications running with event monitoring and long-term statistical tracking for capacity planning.

If you're about to build your first dynamic website, then Building Scalable Web Sites isn't for you. But if you're an advanced developer who's ready to realize the cost and performance benefits of a comprehensive approach to scalable applications, then let your fingers do the walking through this convenient guide.

If you're reading this book, you probably have a good idea of what a web application is, but it's worth defining our terms because the label has been routinely misapplied. A web application is neither a web site nor an application in the usual desktop-ian sense. A web application sits somewhere between the two, with elements of both.

While a web site contains pages of data, a web application is comprised of data with a separate delivery mechanism. While web accessibility enthusiasts get excited about the separation of markup and style with CSS, web application designers get excited about real data separation: the data in a web application doesn't have to have anything to do with markup (although it can contain markup). We store the messages that comprise the discussion component of a web application separately from the markup. When the time comes to display data to the user, we extract the messages from our data store (typically a database) and deliver the data to the user in some format over some medium (typically HTML over HTTP). The important part is thatwe don't have to deliver the data using HTML; we could just as easily deliver it as a PDF by email.

Web applications don't have pages in the same way web sites do. While a web application may appear to have 10 pages, addingmore data to the data store increases the page count without our having to add further markup or source code to our application. With a feature such as search, which is driven by user input, a web application can have a near infinite number of "pages," but we don't have to enter each of these as a blob of HTML. A small set of templates and logic allows us to generatepages on the fly based on input parameters such as URL or POST data.

To the average user, a web application can be indistinguishable from a web site. For a simple weblog, we can't tell by looking at the outputted markup whether the pages are being generated on the fly from a data store or written as static HTML documents. The file extension can give us a clue, but can be faked for good reason in either direction. A web application tends to appear to be an application only to those users who edit the application's data. This is often, although not always, accomplished via an HTML interface, but could just as easily be achieved using a desktop application that edits the data store directly or remotely.

With the advent of Ajax (Asynchronous JavaScript and XML, previously known as remote scripting or "remoting"), the interaction model for web applications has been extended. In the past, users interacted with web applications using a page-based model. A user would request a page from the server, submit his changes using an HTTP POST, and be presented with a new page, either confirming the changes or showing the modified data. With Ajax, we can send our data modifications in the backgroundwithout changing the page the user is on, bringing us closer to the desktop application interaction model.

The nature of web applications is slowly changing. It can't be denied that we've already come a long way from the first interactive applications on the Web, but there's still a fair way to go. With applications like Google's Gmail and Microsoft's Office Live, the web application market is moving toward applications delivered over the Web with the features and benefits of desktop applications combined with the benefits of web applications. While desktop applications give us rich interactivity and speed, web applications can offer zero-effort upgrades, truly portable data, and reduced client requirements. Whatever the model of interaction, one thing remains constant: web applications are systems with a core data set that can be accessed and modified using web pages, with the possibility of other interfaces.



Mastering SQL Server 2000 Security (Gearhead Press In the Trenches)

Learn how to protect corporate information by properly designing, managing, and maintaining security at the database level

Security is a primary concern in all aspects of development and IT administration. While locking down networks and erecting firewalls will always be necessary, so much more can be done to protect a corporation's most valuable intangible assets: accounting records, customer lists, and inventories. Microsoft SQL Server 2000 has proven itself to be the fastest and most reliable product available for protecting corporate data. No other book covers as thoroughly the subject of security design and implementation strategies; Mastering SQL Server 2000 Security fills that gap in literature with practical, hands-on advice.

Packed with indispensable design information that can make a tightly secured database faster and easier to use, this book is essential reading for both administrators and developers of databases. The authors explain just how much more is possible in the task of protecting corporate information by properly designing, managing, and maintaining security at the database level.
From this book you will:

  • Learn the ins and outs of SQL Server 2000 Security design
  • Understand the implementation differences between SQL Server Authentication and Windows Authentication
  • Understand the security options in SQL Server 2000 for Internet applications
  • Integrate the security of Windows 2000 (Kerberos) into your SQL Server deployment
  • Master the security requirements for distributed data environments, such as DTS, replication, linked servers, and data warehousing

Wednesday, June 11, 2008

Rapidly Change IT Project

The subject of this book is the skills that are needed for managing software
projects in the Internet era, when projects evolve rapidly, requirements change
often, and new methodologies, techniques, and tools for management emerge.
In this book, I have tried to transfer all my experience and the lessons learned
about the different topics that are discussed — how to deal with people; how
to manage a group; and how to develop, manage, and maintain a software
project (Section I of the book).

While reading the book, consider that the experiences described and the methodologies
and techniques discussed are based mainly on a particular target
business environment that is described in Section II of the book and that is
more and more common in the Internet era — small companies or small teams
in large companies that deal with small to medium projects that adopt leading
edge technologies and therefore are subject to vast changes during their lifetime.
I have focused on describing the Agile methodologies for software development
and management, since I think that they are the most suitable approach
when one is faced with a rapidly changing IT project. Obviously, I also have
introduced classical methodologies, since one must know enough of all the
methodologies in order to select the most suitable one.

Last, but not least, I also have presented the Agile methodology that I have
developed (ADPD), which also can be employed suitably in all environments
that classically are against the Agile approach, since it can be stated that ADPD
is compliant to CMM-SW Level 3 and, during its adoption, software measurement
and UML can be adopted profitably without abandoning the Agile approach.

This book is organized into two main sections: the first is related to project
management and to the skills that a team manager or a project manager must
have; the second is related more directly to software production process and
assessment. While the first part of the book is less technically oriented, the
second part contains an overview of methodologies, software life cycles, and
techniques for software development focusing on Agile programming and also
giving the reader an overview of techniques for UML and software measurements adoption.

Section I is divided in six chapters: Team Working, Time Management, Presentation,
Training, People Management, and Delegation.
Section II is divided in nine chapters: The Target Business Environment,
Classical Methodologies, Techniques, and Tools for Project Management,
Agile Development, eXtreme Programming, Agile and Defined Project Development,
ADPD and SW-CMM, ADPD and UML Adoption, Software
Measurement, and Project Maintenance.

In order to evidence the activities that are related more to the management of
a project, this part is divided into six chapters, summarized as follows:

Chapter I. Team Working. In this chapter, the problems and techniques
of working in and managing a team of people are reported. In particular,
team creation and best practices for team working are reported.

Chapter II. Time Management. Time management is one of the most
difficult activities to carry on. This chapter shows how, with a correct daily,
weekly, and monthly set of activities, time management can be an easy activity
to perform. In order to facilitate this activity, the main tools related to
time management, such as Gantt and PERT diagrams, also are reported.

Chapter III. Presentation. One of the tasks that a project manager often
has to deal with is presentation. All of the aspects of this particular instrument
for transferring knowledge are considered, and therefore, presentation
preparation, speech preparation, and how to speak are detailed.

Chapter IV. Training. If you consider the best case in which you have a
very skilled team that does not need any form of training, a project or team
manager often is involved in training activities focused on the customer or
on company partners. Therefore, it is important to know the importance of
the fundamental techniques for training.

Chapter V. People Management. Once you have created a team and
learned how to manage time and present and train people, it is time to deal
with people problems. In this chapter, some guidelines for correctly approaching
this difficult activity are given.

• Chapter VI. Delegation. The last thing that a manager must learn to do is
to delegate. It is the last because, before delegating to other people, you
must have learned all the lessons reported in the previous chapters, since
delegation is a powerful activity that can improve the productivity of your
team, but it is also risky, if it is not approached in the correct way.

The Focal Easy Guide To Adobe Encore DVD 2.0

That simple premise is the foundation of this book. Encore is intuitive enough to
allow DVD creation with a minimum of fuss, at the same time offering powerful
features that let you explore the limits of your creativity. No other DVD authoring
package that I have used offers this combination of ease of use and creative power.

I have been getting video out of my computer and onto disc since 1999. DVD
was a seemingly magical format back then; only high-powered Hollywood studios
(with even higher-powered systems and budgets) could afford to create them.

Professional DVD mastering facilities were ridiculously expensive. DVD burners
that you could install into your own computer were priced in the thousands of
dollars, and the software needed to create those DVDs cost thousands more.
Small business and home enthusiast disc authors were therefore likely to use
alternative video formats that could be burned onto CD. CD burners and blank
discs were widely available and relatively inexpensive. The biggest disadvantage
of these formats was quality. Despite the author’s best efforts, oftentimes the
quality of the finished disc paled in comparison to what Hollywood was showing
could be done with DVD.

Fortunately, advancing technology has made professional DVD authoring available
to a wide range of people. What used to be the domain solely of big movie studios
is here for you, now. These are exciting times in video editing and production!

High-quality DVD presentations that reflect the artistic vision of DVD authors are
feasible using tools that take up no more than a desktop’s worth of space and
whose cost is well within reach.

If you are an experienced DVD author looking to expand your creative horizons,
this book will get you up and running with Adobe Encore DVD quickly. You’ll also
find ways to use Encore to add a big “WOW” factor to your DVDs. Custom
menus, including video buttons, background audio, background video and menu
transitions can be created easily using Adobe Encore DVD in concert with the
other applications in the Adobe Production Studio, or by using your favorite
video-editing and graphics programs. Dynamic program content controls and
extensive customization tools within Encore allow you to deliver professional-quality
discs to your audience and clients that will have them cheering your efforts and
returning to you for future projects.

If you are new to DVD authoring, this book will quickly introduce you to some
of the concepts behind the technology, and provide a clear roadmap for getting
your video out of the computer and onto disc using Adobe Encore DVD. The
first time I opened Adobe Encore DVD on my computer, I felt somewhat lost
amid the many open, empty windows and the lack of a large button that said,
“Start Here”. Just as I did, however, you’ll soon see that you don’t need to be
intimidated by Encore’s extensive set of tools and customizing capabilities.
Adobe Encore DVD is very user-friendly and intuitive. You will be pleasantly
surprised at just how quickly and easily you can go from start to finish as you
create your DVD. In essence, this book is your “Start Here” button!

I have worked my way through the nooks and crannies of this program and
talked with dozens of Adobe Encore DVD users. As you read through the book,
you will find that I have anticipated and remember many of the concerns that
new authors and new users may have with DVD authoring in general and Encore
specifically. When you begin your adventure with Adobe Encore DVD, just
remember two things. One, Encore is a great program! That means any issues
you face will most likely not be with whether or not Encore can do something,
but rather with how Encore does it. Two, use this book. It is your “Easy Guide”
to getting your DVD successfully completed!

Programming Microsoft Access 2000, The developers guide to harnessing the power of Access

Introduction
What's New with Access 2000?
Access 2000 makes major strides in many areas. Microsoft has created a profoundly new product that still feels like the Access you know. This book highlights five specific areas of innovation: ActiveX Data Objects (ADO), enhanced SQL Server interoperability, Visual Basic for Applications (VBA) and packaging enhancements, Microsoft Jet engine improvements, and improved Web interoperability.

ActiveX Data Objects
ADO replaces nearly all of the data access functions that you previously performed with Data Access Objects (DAO). Access 2000 offers ADO functionality via three libraries: ADODB, ADOX, and JRO.

The ActiveX Data Objects 2.1 (ADODB) library offers core data access processing functions. The main ADODB objects include the Connection, Recordset, and Command objects. You can use these objects, along with their properties and methods, to connect to and manipulate a data source. The Connection object offers an interface to the new OLE DB provider technology. This technology is critical to the Microsoft Universal Data Access (UDA) architecture that provides high-performance access to a variety of data formats (both relational and nonrelational) on multiple platforms across the enterprise. UDA facilitates the integrated processing of traditional data sources, such as Jet and SQL Server data sources, with non-traditional sources, such as mail, file directories, and even video. UDA represents an evolutionary advance beyond today's standard data interfaces, such as Open Database Connectivity (ODBC), Remote Data Objects (RDO), and DAO.

The Microsoft ADO Extensions 2.1 for DDL and Security (ADOX) library offers an object-based approach to data definition and user-level security. It provides the traditional Jet user-level collections of Users and Groups. It ties permissions in database files to members of the Users and Groups collections in a workgroup information file. The ADOX model for this library tackles data definition chores using such objects as Tables, Columns, Indexes, Keys, Views, and Procedures. You can use these objects to dynamically define new tables, indexes, and relationships among tables. You can also define queries on the tables.

The Microsoft Jet and Replication Objects 2.1 (JRO) library primarily delivers Jet engine replication services through an ADO interface. This new ADO model lets you take advantage of all the new programmatic Jet database replication features. In addition, this model includes Jet engine functions such as compacting databases and refreshing the cache.

Enhanced SQL Server Interoperability
With Access 2000, you can process enterprise databases as easily as you work with Microsoft Jet databases. ADO connectivity is a part of the reason. However, integration is even tighter for SQL Server 6.5 and SQL Server 7 with the new Access Project. This new file type (.adp) works with SQL Server and Microsoft Data Engine (MSDE) databases in much the same way that .mdb files facilitate the processing of Jet databases. MSDE is a new database engine built on the SQL Server 7 model; it is meant for small workgroup solutions and complements the traditional Jet database engine. You can use either Jet or MSDE to develop solutions.

Access Projects explicitly expose views and procedures in the familiar database container framework. You can instantly connect to remote SQL Server databases, with the same graphical simplicity that you have with Jet databases. You can also use the SQL Server data with Access forms and reports (just as you do Jet data).

You also have seamless OLE DB interoperability with SQL Server and other back-end data sources. Using the ADO Connection object and OLE DB providers, you can connect to remote data sources and easily reference them programmatically for your custom applications.

VBA and Packaging Enhancements
Access continues to move toward VBA parity with the rest of Office. Access 2000 introduces a Visual Basic Editor (VBE) that has the same user interface as the one in Microsoft Word, Excel, and PowerPoint. You can transfer your code management and development skills directly to these other packages and thus enrich non-Access applications with data access functions.

The Office 2000 Developer Edition offers improved packaging and deployment options. For example, you can deploy solutions with MSDE and solutions that rely on a SQL Server-like database. You get the richness of views and procedures from the graphical interface as well as the programmatic interface. This is particularly important if an application might grow to require the capabilities of a full-fledged SQL Server database.

A new deployment option lets you deploy custom setup packages for your solutions via the Internet. You can thus vastly extend the range of clients that you serve. Your pool of potential development clients expands to include anyone around the globe with an Internet connection.

Jet Engine Improvements
Access 2000 ships with version 4 of the Jet database engine, which offers improvements in several areas of functionality. Particularly attractive is the availability of row-level page locking. Prior versions of Access performed locking at no lower than the page level. One reason for the introduction of row-level locking is the availability of Unicode support for text characters. You can now represent text data in different languages in multilingual applications. The new coding for text-based fields expands the space requirements for each character from 1 to 2 bytes and the page size from 2 to 4 KB. Since the page size has grown, Microsoft has enabled row-level locking to reduce the possibility of concurrent locks on the same page in multi-user applications.

Database replication has also improved in several areas. One improvement is the availability of column-level replication. In previous Jet versions, conflicts were detected at the row level so two replicas conflicted even if they changed different fields for the same record. Column-level replication improves performance by eliminating such conflicts. Access 2000 also introduces two-way replication between Jet and SQL databases. The prior version permitted only one-way replication from SQL Server to Jet.

Another praiseworthy improvement is programmatic control for changing the value of AutoNumber fields. You can set the initial and step values for AutoNumber fields when you create a table. You can also change these values for the next record in a table. In an Access Project, you can set AutoNumber fields from Table Design view. You can also change these values after a table is initially created.

Jet also offers SQL-level access to views and procedures. The Jet SQL improvements let you create and alter both types of database object models.

Improved Web Interoperability
One of the most significant new features of Access 2000 is data access pages, which act like Access forms and reports on the Web. You can design Web pages that bind directly to Jet or SQL Server data sources. With pages that act like forms, users can edit, add, and delete records graphically from a page. You can use design-time tools to programmatically control these features as well as sorting and filtering capabilities. While these pages do not enable subforms, you can create grouped data access pages that expand conditionally based on user input.

Data access pages can also serve as a host for the new Office 2000 Web Components, which you can use to create pages that contain interactive spreadsheets, dynamic charts, and pivot tables. You can also tie the spreadsheet and charting Web components to data displayed in grouped and ungrouped data access pages. This means that you can present calculations and charts that change dynamically as you move from one record to the next. Data access pages with pivot tables do not interact with other data sources on a page, but they do offer Excel-style "pivoting"—graphically moving parts of the data for a different view. In addition, pivot tables can be used for the analysis of multiple kinds of data, including SQL Server, Jet, and online analytical processing (OLAP) data sources.