Databases Reference
In-Depth Information
Chapter 13
Extended Developer Tools
While developing the sample application in the previous chapters, you saw many features in the APEX development
tool. This chapter highlights advanced development features in APEX that weren't covered in the previous chapters.
These features—or tools, as we prefer to call them—may help when you're developing large applications in a
corporate environment.
This chapter assumes that you're comfortable with APEX and understand the fundamentals. If you're still not
comfortable developing an APEX application, we strongly recommend that you revisit the examples from Chapters 5
through 9 in order to become more at ease with APEX and its development environment.
Note
Page Locks
When developing in larger teams, development conflicts occur. A development conflict is when two developers are
working on the same object at the same time and overwrite each other's changes.
Note
For the remainder of this chapter, references to APEX objects imply page items, regions, lists, pages, and so on.
Conventional web development tools, such as ASP, PHP, and JSP, contain multiple files that each represent a
page or a set of functions in the web application. When developing with these tools, it's common practice to use
a source-control tool, such as Subversion, to manage all the changes. Source-control tools can easily manage
development conflicts between multiple developers, because they're isolated to a single file.
APEX is different than the scripting languages just mentioned because developers don't work with files. All the
information is stored in tables in the database. When you create an export of an application, you get a single SQL file
that load the metadata for the application into these tables. Because APEX stores its content in the database, you can't
use traditional source-control tools to manage conflicts when developing in teams with multiple developers.
APEX Conflicts
To demonstrate a development conflict in APEX, imagine that you have two developers, Mina and Natalie, working on
the same page in an application. If they're both adding and modifying page components at the same time, the page
may not behave as expected for either of them.
APEX prevents developers from modifying the same object at the same time by performing optimistic locking .
Table 13-1 shows the sequence of events that occurs as the two developers edit the same object. You can see at the
end how APEX prevents Natalie from overwriting the changes made by Mina.
 
 
Search WWH ::




Custom Search