text:
- Introduction
- Scenarios
- Sample applications description
- Scenario 1. Transforming the HTTP URL query parameters into the business object
- Scenario 2. Selecting the target interface function to invoke using the HTTP URL query parameter
- Scenario 3. Transforming HTTP POST plain text requests into the business object
- Scenario 4. Using and configuring the JSON data handler
- Scenario 5. Handling ATOM feed data with out-of-the-box artifacts
- Scenario 6. Configuring SSL on the HTTP import binding
- Application execution instructions
- Conclusion
- Downloadable resources
- Related topics
- Comments
Using SCA HTTP binding in typical real-life scenarios with WebSphere Integration Developer
This article will address some common scenarios that involve SCA HTTP binding, but not covered by the first article. These scenarios include using IBM® WebSphere® Integration Developer Version 6.2 (hereafter called Integration Developer) for:
- Configuring SCA HTTP import and export bindings for handling simple plain-text POST and GET requests with variable parameters.
- Handling JSON requests using the JSON data format handler.
- Creating and configuring the custom function selector that uses URL query parameters.
- Handling ATOM feed.
- Enabling SCA HTTP import binding to communicate with services using SSL protocol.
The purpose of this article is to provide hands-on examples to help build an SCA application using HTTP bindings. It is intended for WebSphere Business Integration (hereafter called Business Integration) consultants and application developers who are interested in integrating SCA applications using an HTTP infrastructure.
The SCA HTTP binding is designed to connect SCA applications with existing Web applications. Typically, existing Web applications use HTTP GET requests using a query with variable parameters to retrieve data from the server. The HTTP response content depends on the URL parameters. HTTP POST requests containing name-value pairs are frequently used for updating and creating data on the target server. HTML forms using plain text format for the request body provide the simplest way of creating and sending such requests. Since these use cases are so simple and powerful, at the same time, they have become extremely popular. While Integration Developer and IBM WebSphere Process Server (hereafter called Process Server) provide tooling and runtime support for these scenarios, there is no provided data format handler that handles these use cases. This article will describe how a sample implementation of the data binding and handler can be built and configured to solve this issue. Encapsulating this transformation algorithm into the Java handler class makes it easy to re-use, share, and distribute it across multiple applications or deployment servers.
SCA Export bindings use a component called Function Selector that is responsible for selecting the target operation. In the case of using SCA HTTP export binding for connecting SCA application to the Web, HTTP request provides multiple attributes and parameters that you can use as the criteria for selecting the target operation. Integration Developer provides flexibility for configuring the HTTP export binding with the custom function selector, in addition to the number of out-of-the-box selectors. In many cases, selectors shipped with the product may be sufficient. But there are cases when custom function selector may be more useful. This article will cover both implementation options.
JavaScript Object Notation (JSON) is the Internet application format rapidly gaining popularity within the Web development community. It uses the extremely popular Web development language Java Script. IBM provides a JSON data handler in Integration Developer. This article will explain how this JSON data handler works and how to integrate SCA HTTP bindings with Web applications that use JSON format for the request and response body format.
Another common popular Web format is Atom feeds. Our last article described how to use third party XML schema and XML binding to support this format by the SCA HTTP binding. Integration Developer 6.2 provides an Atom feed business object schema and data handler. This article will demonstrate how to configure and use these new features.
It is hard to imagine a real-life Web enterprise application that would not use Secure Socket Layer (SSL) protocol. SCA HTTP import binding configuration allows users to configure SSL. This article will provide step-by-step instructions on how to configure the SCA HTTP binding configuration attributes for SSL.
This article helps you understand all of the above mentioned topics by demonstrating the sample application configuration or step-by-step instructions.
- Scenario 1: Configure an SCA application to be exposed via HTTP URL accepting variable query parameters. It will use HTTP GET method to retrieve the application data. HTTP export binding will use a custom configurable data binding for parsing the variable part of the URL and populating the business object fields based on the configuration settings.
- Scenario 2: Enable the SCA HTTP export binding for selecting the correct operation on the SCA interface based on the request URL query parameters. We will explain how the out-of-the-box function selector can be configured to perform this task. As a more flexible alternative, the sample application will demonstrate how to use the custom configurable function selector for selecting target operation based on the information available in the HTTP request.
- Scenario 3: Expose a SCA application via an HTTP endpoint that accepts POST requests in the plain text format created by HTML forms. This scenario showcases the use of the custom data handler that transforms plain text POST request data into the business object. The custom configurable data handler will be using configuration parameters to map between the business object fields and POST request parameters.
- Scenario 4: Enable a SCA application to invoke an external service that returns response in JSON format using an out-of-the-box JSON data format handler.
- Scenario 5: Enable a SCA application to be invoked by an Atom feed client. In this case, SCA HTTP export binding will send a response in the Atom feed format. The sample application will demonstrate how to configure the HTTP export component and map out-of-the-box Atom feed business object to a generic business object.
- Scenario 6: Enable an SCA application to invoke an HTTP URL via SSL. We will provide detailed step-by-step instructions.
Figure 1 (see enlarged Figure 1) shows the sample integration solution, CustomerSolution, with the HTTP endpoints implementing the above mentioned scenarios.
Figure 1. Customer solution
Sample applications description
If you read our first article, you find that the new sample application familiar. The new application intentionally re-uses some slightly modified parts from the previous application so that you can focus on the new features.
The application is designed to demonstrate all of the above mentioned
scenarios except SSL. The application consists of the client JSP page
SimpleListCustomers.jsp) that displays the
list of the existing customers stored locally in the XML file (Figure
Figure 2. Customers' list
By selecting the
Map link for the
customer, a new HTML page is launched
customersMap.html), displaying the selected
customer's home and current geographical locations on the Google®
map (Figure 3). The fictitious current location coordinates are generated
in a random manner.
Figure 3. Customer location map
Selecting the Name link launches another JSP page
ProcessCustomer.jsp) that displays
pre-populated HTML form (Figure 4) that you can use for updating the
customer's type and address.
Figure 4. Customer update form
By selecting the Add a new customer link, the user can launch the same form (Figure 5) with empty fields for adding a new customer.
Figure 5. New customer form
To display the home location on the map for the selected fictitious
Customer, the application uses a third party
HTTP XML service, which returns the latitude and longitude for the given
customer's address. A fictitious current location coordinates is generated
by the external HTTP JSON service. For simplicity, both services are
implemented as JSPs (
GetLocationCoordinatesJSON.jsp) in the separate
Web application
GenerateCustomerLocationService). From our
main SCA application point of view, they are external HTTP services that
are invoked using HTTP URL as any other service of this kind. XML and JSON
are used as the service response formats.
You can also view the customers using the Atom feed client (Figure 6). Clicking on the customer entry opens a Google map for the customer's home location.
Figure 6. Firefox Sage Atom feed client view of the Customers
To demonstrate all of the above mentioned features, our application
includes one SCA module
Customers, the library
CustomersLib, a client Web application
HTTPExportToGoogleMap, and a Web application
GenerateCustomerLocationService, providing a
simulated external HTTP/JSON service.
The library module contains common WSDL interfaces, business objects and custom Java classes for data handler, data bindings, and the function selector.
Customers module (Figure 7) contains:
- Three HTTP export bindings
GetCustomersWithLocationsExport, and
- A custom mediation component
AtomFeedMappingComponent) that performs mapping for the Atom feed scenario
- HTTP import binding (
GetCoordinates) used to invoke the external HTTP XML service
- A simple Java component
(GetCustomers)that can read and update an XML file (
Customers.xml) and returns a list of customers
- Another HTTP import binding
GetCurrentCoordinates) that invokes a simulated external HTTP/JSON service that returns fictitious current coordinates for the given customer
Figure 7. Customers module assembly
The SCA HTTP export component
AddCustomerExportText) is invoked by the HTML
form that adds a new or updates an existing customer. Another SCA HTTP
export component
GetCustomersWithLocationsExport) is invoked by
a simple GET HTTP request with no body and returns XML formatted response
containing the list of all the customers in the XML file. The SCA HTTP
export component (
GetAtomFeedCustomers) uses
the Atom feed data handler and the interface that uses the out-of-the-box
Atom feed business object. The BPEL component
GetCustomersWithLocations) ties it all
together by invoking the above mentioned HTTP services by retrieving home
and current coordinates for each
HTTPExportToGoogleMap Web project contains
the following pages:
- SimpleListCustomers.jsp: JSP page that invokes URL using GET request and populates HTML table with the customers' data received from the SCA application in XML format.
- customersMap.html: HTML page that uses a mashup to display home and current locations of the selected customer on the Google map.
- ProcessCustomer.jsp: JSP page that is used to display a HTML form for
updating an existing customer or adding a new customer. It invokes the
SCA HTTP export component
AddCustomerExportText)using HTTP POST plain text request.
- SubmitRequest.html: A utility HTML page that is used to complete the
update/create process. The browser is redirected to it once the POST
request is sent by
GenerateCustomerLocationService Web project
contains the JSP pages
GetLocationCoordinatesJSON.jsp that return
home and simulated current location coordinates. These JSP URLs are
invoked by the sample SCA application as an external service through the
HTTP SCA import components (
GetCurrentCoordinates). The JSP
GetLocationCoordinatesJSON.jsp generates the
response in the JSON format. Note that this JSP uses the JSON tag library.
json.tld and
json-taglib-0.4.1.jar are downloadable from http://json-taglib.sourceforge.net/.
Scenario 1. Transforming the HTTP URL query parameters into the business object
It would not be a mistake to say that HTTP GET requests with variable query parameters are the most common way to retrieve data from the Web. Therefore, it is reasonable to provide a simple way of mapping native HTTP GET request query parameters to the fields of the data object. In the previous article, we showed how you can use the mediation flow component (further referenced as MFC) mapping for this purpose.
However, if you wanted to make it easier to distribute and reuse this transformation logic without replicating MFC mapping, it makes sense to encapsulate it into the Java class. Once this Java class is on the class path of the module, you can set it can as a data format handler on the HTTP SCA binding.
There are two interfaces supported in Integration Developer 6.2 to create
data format transformation Java classes. The first one is the data binding
commonj.connector.runtime.DataBinding). The
second is the data handler
commonj.connector.runtime.DataHandler). The
difference between the two is that the data bindings are typically
transport/binding specific (for example, HTTP, JMS, and so on), while data
handlers are meant to be reusable across different types of SCA bindings.
In this scenario, we do not expect any payload in the HTTP request. All the
data you need is contained in the URL query. Therefore, it is a transport
specific transformation. The custom class
will implement a
HTTPStreamDataBinding and
BindingContext interfaces. It is designed to
extract query parameters from the HTTP URL and to create a data object
based on the URL parameters' values. It will be used only to process
incoming data. The outgoing data will be processed by the out-of-the-box
XML data handler. Therefore, in addition to the primitive getters and
setters, we only need to implement three methods:
setBindingContext(Map m),
convertFromNativeData(), and
getDataObject(). Method
setBindingContext(Map m) reads the context and
detects the data object type that needs to be created (Listing 1).
Listing 1. Sample implementation of setBindingContext() method
publicvoid setBindingContext(Map arg0) { bindingContext = arg0; QName qname = (QName)bindingContext.get("ExpectedType"); if(qname != null) { targetNamespace = qname.getNamespaceURI(); localName = qname.getLocalPart(); }
convertFromNativeData() is called to
transform the native HTTP request into the data object. It reads the URL
from the HTTP control and extracts query parameters from it (Listing 2).
Then it calls the method
(Listing 3) to get an instance of the data object based on the value
discovered from the binding context. Once the data object is returned, the
value of the query parameter is set on the data object.
Listing 2. Sample implementation of convertFromNativeData() method
public void convertFromNativeData(HTTPInputStream arg0) throws DataBindingException, IOException { String url = fieldControl.getURL(); String query = url.substring(url.indexOf("?")+1); if (query.indexOf('&') == -1) { //In the sample application we only expect one parameter which is //enough for demonstrating functionality. //If there are more than one query parameters in the URL we would //have to go to the ELSE and loop through all of them String nvpName = query.substring(0, query.indexOf("=")); String nvpValue = query.substring(query.indexOf("=")+1); //Create data object getDataObject(); //We assume that the name of the query parameter must match the //name of the Data Object field if (fieldDataObject.getInstanceProperty(nvpName) != null) { //If the property with the given name exists then set it fieldDataObject.setString(nvpName, nvpValue); } } else { //If we had more than query parameters then we would have to loop //through all of them and try to set the fields in the DataObject } }
Listing 3. Sample implementation of getDataObject() method
public DataObject getDataObject() throws DataBindingException { if (fieldDataObject == null) { ServiceManager serviceManager = ServiceManager.INSTANCE; BOFactory bofactory = (BOFactory) serviceManager.locateService("com/ibm/websphere/bo/BOFactory"); fieldDataObject = bofactory.create(targetNamespace, localName); } return fieldDataObject; }
Once this class is implemented, you need to put in the library module
CustomersLib), which is on the dependency list
of the integration module (
Customers). In this
way, this class is on the class path of the module. You can use it to
configure the HTTP export component
GetCustomersWithLocations. As we mentioned
earlier, this data binding class is only designed to process incoming
requests. You need to navigate to the Method Bindings panel on the
Properties view and select the Data Serialization tab for the
getCustomers(). To set the incoming
data binding class, click the Select button for the Input data
format field (Figure 8).
Figure 8. Operation input data format selection panel
On the data transformation selection wizard, select the radio button that enables selection of the custom data binding class (Figure 9). Then select the URLExportDataBinding class on the class selection dialog.
Figure 9. Selecting custom data binding
Once the data binding is set on the HTTP export component, it will be used by the runtime to process data format transformation for the incoming requests (Figure 10). Now the binding is configured to map URL query parameters to the business object fields.
Figure 10. Binding configured with the custom data binding
Note that for the response, you use the out-of-the-box XML data handler configuration. As a result, when the HTTP export component is invoked using the following URL:
The value of the
type query parameter from the
URL will be mapped to the field
type of the
business object
Scenario 2. Selecting the target interface function to invoke using the HTTP URL query parameter
The HTTP export binding component
AddCustomerExportText in the module
Customers is configured to receive HTTP POST
requests in the plain text format over HTTP. The request is submitted from
the simple HTML form built by the
ProcessCustomer.jsp. There are two operations
addCustomer and
updateCustomer) on the interface bound to the
HTTP export component. SCA uses function selectors to select an interface
operation to invoke at runtime.
The question is what function selector to use in our scenario. There is an existing out-of-the-box function selector that uses a combination of the method binding context path and HTTP method to select an operation. If the client uses different URLs or different HTTP methods to invoke different operations, then you can use the above mentioned out-of-the-box function selector.
In this scenario, the client JSP will append to the URL a query parameter
action that can have two different values
Create or
When the URL contains the query
then the operation
addCustomer must be invoked.
Otherwise, you need to invoke operation
Since the full URL including the query part is not the same for each
operation, then you can use the out-of-the-box function selector. In this
case, configure each method binding to use its own context path, by hard
coding the query part of the URL (for example,
?action=Add) and specifying the native method
according to the function selector rule
<context path>@<http method>).
However, what if you do not want to hardcode the query part of the URL on
the method binding of the HTTP export component? In this case, both
operations are configured to use the same HTTP method (POST) and URL
context path. Therefore, the only option is to develop a custom function
selector. Our custom function selector uses the value of the URL query
action to match with the native
method defined on the method binding.
While designing the new function selector for this specific use case, we
also want to show how to make the name of the query parameter
configurable. You create a new custom function selector class
text.fs.URLQueryParameterFunctionSelector with
a configuration properties class
The properties class follows a naming convention, where it matches the
name of its function selector class with the suffix "Properties" appended
at the end.
Our function selector class must extend class
HTTPFunctionSelector and implement methods
setBindingContext(Map map) and
generateEISFunctionName(). Method
setBindingContext() allows the HTTP export
binding to pass information to the function selector for discovering the
configured function selector properties. It reads configuration parameter
functionParameter value and stores it in the
instance variable (Listing 4).
Listing 4. Sample implementation of setBindingContext() method in the configurable function selector
publicvoid setBindingContext(Map map) { URLFunctionSelectorProperties properties= (URLFunctionSelectorProperties)map. get(BindingContext.BINDING_CONFIGURATION); if(datahandlerproperties != null) { functionParameter = properties.getFunctionParameter(); } }
generateEISFunctionName() parses the URL
query and extracts the value for the configured query parameter (Listing
5). This value is returned as a name that must match the native name
configured on the method binding (Figure 11). In our scenario, the native
name is
Create for the operation
addCustomer, and
Update for the method
Listing 5. Sample implementation of generateEISFunctionName() method
publicfinal String generateEISFunctionName(HTTPControl httpcontrol, HTTPHeaders httpheaders, HTTPInputStream httpinputstream) throws SelectorException { String queryString = httpcontrol.getURL(); queryString = queryString.substring(queryString.indexOf("?")+1); //In our sample application the assumption is that our URL query parameter at the end of the URL. queryString = queryString.substring(queryString. indexOf(functionParameter)).split("=")[1]; return queryString; }
Figure 11. Method binding native method configuration
Configuration bean class defines the single configuration property
functionParameter. The function selector uses
the value of this configuration parameter to find the name of the target
method from the URL query. Now you can create a new function selector
configuration that will be used later for configuring the HTTP export
binding. You can create the configuration using the File > New >
Binding Resource Configuration menu option on the Business
Integration view. The HTTP binding is selected as a binding that can use
this function selector configuration (Figure 12).
Figure 12. Function selector configuration
Now configure the HTTP binding with this new custom function selector configuration. At this point, the function selection algorithm is defined. However, this use case also includes Scenario 3 because the data is passed to the HTTP export binding in plain text format. Therefore, additional data transformation configuration needs to be done.
Scenario 3. Transforming HTTP POST plain text requests into the business object
The HTTP export binding described in Scenario 2 processes POST requests by updating or adding a new customer. The request is submitted from the simple HTML form in plain text format. The sample request looks like this:
name=Customer+D&type=Research&address=8300+Warden+Avenue%2C+Markham%2C+ Ontario%2C+L6G+1C7&user=eugene
As mentioned in Scenario 2, Integration Developer does not provide a data handler that can process such requests. In this case, compared to the Scenario 1, the handler does not need to access transport specific data. Therefore, the best fit for this occasion is a new custom data handler. To be even more flexible, make the custom data handler configurable.
Our custom data handler class
text.handler.PlainTextDataHandler implements
the base interface
commonj.connector.runtime.DataHandler. In the
first method, you need to implement
setBindingContext(). This method detects and
stores the data object name and namespace. Then it reads the configuration
specified on the binding and stores all the configuration values that
define the rules for request parsing.
Listing 6. Sample implementation of setBindingContext() method
publicvoid setBindingContext(Map map){ QName qname = (QName)map.get(BindingContext.EXPECTED_TYPE); if(qname != null){ targetNamespace = qname.getNamespaceURI(); localName = qname.getLocalPart(); } PlainTextHandlerProperties properties = (PlainTextHandlerProperties)map. get(BindingContext.BINDING_CONFIGURATION); if(datahandlerproperties != null){ encoding = datahandlerproperties.getEncoding(); exlusionList = datahandlerproperties.getExlusionList(); caseSensitive = datahandlerproperties.isCaseSensitive(); listSeparator = datahandlerproperties.getListSeparator(); } }
The next method to implement is
This method is called when the binding attempts to transform the incoming
request body into the business object. It reads the input stream into the
bytes, creates a business object, and populates it with the values
extracted from the request. See the WebSphere Integration Developer Information Center for details
about the data handler interface implementation.
Listing 7. Sample implementation of transform() method
public Object transform(Object source, Class target, Object options) throws DataHandlerException { System.out.println("Transforming incoming message"); if ((source == null) || (target == null)) returnnull; // native data format to DataObject transformations if (target == DataObject.class) { if (source instanceof InputStream) { // TODO: Transform InputStream to DataObject InputStream inputstream = (InputStream)source; byte[] bytes = readBytes(inputstream); try { if (bytes.length > 0) { System.out.println("Parsing input parameters"); String parms = new String(bytes, 0, bytes.length, encoding); System.out.println("Parameters: " + parms); return createBusinessObject(parms); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } elseif (source instanceof Reader) { // TODO: Transform Reader to DataObject } else { // TODO: Transform Object to DataObject } } // DataObject to native data format transformations if (source instanceof DataObject) { if (target == InputStream.class) { // TODO: Transform DataObject to InputStream } else { // TODO: Transform DataObject to Object } } thrownew DataHandlerException("Transformation not supported"); }
readBytes() is the private utility method
that reads the input stream and stores it into the bytes array. Method
includeParameter() is another utility method
that implements the filtering rules defined by the configuration
parameters. These rules define which parameter name is excluded from being
promoted to the business object. The most important utility method in this
class is
createBusinessObject() (see Listing
8). It creates the business object using the namespace and name from the
context, parses text content of the message and detects all the
names-value pairs. Then for each pair, it invokes method
includeParameters() to check if the parameter
with this name needs to be mapped to the business object field. If the
parameter needs to be set on the business object, then the parameter value
is extracted, decoded, and set on the business object.
Listing 8. Sample implementation of createBusinessObject() method
private DataObject createBusinessObject(String s) throws DataHandlerException { //First try to create a data object based on the type DataObject dataobject = boFactory.create(targetNamespace, localName); if(dataobject == null) { //If the data object is still not initialized then try to create it by element. Business objects may be defined by the XSD type or by XSD element. So we need to make sure that we cover both scenarios. dataobject = boFactory.createByElement(targetNamespace, localName); } //Split the incoming parameters into individual tokens String[] parms = s.trim().split("&"); for (int i=0; i < parms.length; i ++) { //Find next parameter name String parmName = parms[i].substring(0, parms[i].indexOf("=")); if (parms[i].indexOf(parmName) != -1) { String updatedName = includeParameter(dataobject, parmName); if (updatedName != null) { //If parameter needs to be included then get the value String value = parms[i].substring(parms[i].indexOf("=") + 1); value = URLDecoder.decode(value, encoding); dataobject.setString(updatedName, value); } } } return dataobject; }
Scenario 2 described the process of creating a custom function selector
configuration. You can create a data handler configuration in the same
fashion. Once the new custom data handler configuration is created, you
can edit it using the Binding Configuration editor (Figure 13). The editor
allows you to modify the following configuration properties supported by
the class
caseSensitive: Boolean flag to specify if the parameter name from the HTTP request must match the field on the business object ignoring case of the characters or not.
encoding: Text encoding.
exclusionList: Exclusion list that defines request properties that do not need to be mapped to the business object.
listSeparator: The separator character used by the exclusion list.
In our case, there are two request parameters to ignore,
operation and
Figure 13. Custom data handler configuration
This data handler is designed only to process incoming plain text requests.
However, the HTTP export binding component
AddCustomerExportText is bound to the interface
that has only one-way operations. Since there is no need to handle
responses, you can set this data handler configuration as a default format
handler, which will apply to all the method bindings (Figure 14).
Figure 14. Setting the default format handler
Once the default format handler is configured, you can invoke this HTTP export binding from the HTML form to add or update the customer.
Scenario 4. Using and configuring the JSON data handler
This scenario demonstrates using the new configurable JSON data handler.
This data handler is easy to use and quite flexible. In our example, the
GetLocationCoordinatesJSON.jsp, generates
JSON stream with random numbers as coordinates:
{"currentLatitude":"42.92777859562721", "currentLongtitude":"-99.50927214867059"}
The JSON message needs to be transformed into the
Coordinates business object (Figure 15).
Figure 15. Coordinates business object
By default, the names of the JSON object fields must match the business
object field names. Note that the top level business object name is not
specified in the JSON message. In our example, the names of the business
object fields and the JSON response variable names do not match. To
resolve the mismatch, the JSON data handler has a feature that helps in
performing the mapping in these circumstances. It uses application
specific metadata element
serializedName stored
inside the business object.
To configure business object metadata, you need to select the field
latitude or
longitude) on the business object editor, and
then select the Application info tab on the Properties view. Add
the serializedName node to the tree and type the text value from
the JSON object (
currentLatitude or
currentLongtitude) as shown in Figure 16.
Figure 16. Application info for the latitude field of the business object
serializedName is added to the business
object, you can set the JSON data handler configuration on the HTTP import
method binding as an output data format handler element to process the
service JSON response (Figure 17).
Figure 17. JSON data handler configuration is set for processing the service response
This completes the JSON example. The HTTP import binding
GetCurrentCoordinates is now configured to
invoke a remote JSON service, supporting custom field mapping between the
JSON message and the
Coordinates business
Scenario 5. Handling ATOM feed data with out-of-the-box artifacts
Our previous article described how to use XML data binding and third party XML schema to enable ATOM feed support for the HTTP export binding.
Integration Developer 6.2 now provides the following artifacts:
- Predefined set of ATOM feed business objects (XML schema)
- Configurable data handler that transforms Atom feed business object into the Atom feed native message
This section describes how to use the provided artifacts to configure the HTTP export binding.
First, you need to add the Atom feed schema to the module
Customers using the Dependencies editor. In the
editor, open the Predefined resources section and select the
ATOM schemas check box (Figure 18).
Figure 18. Import ATOM schemas to the module
Save the change. The provided XML schemas for the Atom feed business
objects are imported into the module. Then you need to create an interface
using these business objects. Interface
GetCustomersAtomFeed uses the
feed business object for the output (Figure
Figure 19. Interface using Atom feed business object
Then add this interface to the
GetCustomersAtomFeed export component and to
generate the HTTP binding. Now connect the export with the BPEL component.
However, the interfaces on BPEL (
and the HTTP export binding component
GetCustomersAtomFeed) are different as they
use different business objects for the response. Therefore, you need to
implement a mediation flow component
AtomFeedMappingComponent to map the interfaces
and business objects (Figure 20).
Figure 20. HTTP export binding and Mediation flow components
The mediation flow component performs custom XSLT mapping for the request
by storing the URL in the transient context by extracting the value for
type query parameter from the URL and
setting it on the
getCustomers operation input
of the
GetCustomers interface (Figures 21 and
22). This part of the mediation component is borrowed from the sample
application described in the previous article.
Figure 21. Request mediation
Figure 22. XSLT map for the request mediation
Another custom XSLT map is used for response handling. The purpose of this
map is to populate
feed business object with
the URL stored in the transient context and map each
Customer business object to the entry element
of the
feed business object (Figures 23 to
Figure 23. Response mediation
Figure 24. XSLT map for the response mediation
Figure 25. XSLT map for mapping individual Customer to the Atom feed entry
Once the mediation flow is complete, navigate to the Properties view of the Assembly editor when the HTTP export binding component GetCustomersAtomFeed is selected.
Select operation getFeed on the "Method bindings" panel. On the
Data Serialization tab, make sure that the default Atom feed
data handler configuration (
is specified for the output (Figure 26).
Figure 26. Atom feed data handler specified on the HTTP export method binding
Now the scenario is complete and you can invoke the application through the
HTTP export binding
GetAtomFeedCustomers from
the client supporting Atom feeds using this URL:
Scenario 6. Configuring SSL on the HTTP import binding
This scenario describes how to configure the SCA HTTP import binding to invoke a URL using Secure Socket Layer (SSL) protocol. The SCA HTTP import binding supports configuring security settings on the binding or method binding levels. The difference is that when defined on the binding level, the security settings will apply to all the URLs configured on the selected HTTP import component. Whereas security settings defined for the individual method binding only apply to this method. So in this scenario, for simplicity, we assume that all the URLs defined by an HTTP import binding require SSL configuration.
This section does not have any sample application artifacts. It just outlines the steps to complete the configuration.
SSL requires a URL to have the
https prefix. If
a URL with such a prefix is specified on the HTTP import binding, but the
SSL settings are not set, then Integration Developer will mark this import
component with an error (Figure 27).
Figure 27. SSL error message for the HTTP import binding
This indicates that you have to configure some SSL settings on the HTTP import component.
The SSL settings mentioned in the error message is found on the Security panel. You can find this panel nested within the Binding tab of the Properties view when the SCA HTTP import is selected on the Assembly editor. Navigate to the Advanced configuration tab and select the Security horizontal tab (Figure 28).
Figure 28. Binding the Security tab
Note that the Security tab is found when the specific method is selected on the Method bindings panel (Figure 29).
Figure 29. Method binding Security tab
On the Security panel, there is an attribute called
SSL configuration name. This is the SSL
settings attribute that is missing on the HTTP import binding, triggering
the error message. To find the value of this attribute, start the server
and open the server admin console. On the Admin console, expand the
Security section and select SSL certificate and key
management (Figure 30).
Figure 30. Admin console "Security" section expanded
On the page that opens on the right side, select the SSL configurations link (Figure 31).
Figure 31. SSL configuration link on the main SSL page of the admin console
The SSL configurations page lists all existing server SSL configurations.
At a minimum, there is the default one,
NodeDefaultSSLSettings (Figure 32). Now you
have a choice of either creating your own new configuration or updating
the default one.
Figure 32. List of the existing SSL configurations
The name of the selected SSL configuration is the value that will be used to configure the HTTP import binding to enable SSL.
One more thing needs to be done on the server before you complete the scenario. You need to make sure that the selected SSL configuration has access to the target server certificate. To add the certificate to the default SSL configuration, navigate from the "SSL configurations" page following the path to the "Signer certificates" page (Figure 33): SSL configurations > NodeDefaultSSLSettings > Key stores and certificates > NodeDefaultTrustStore > Signer certificates.
Figure 33. List of the existing certificates
If there is no certificate already imported for the target server, then you can add the certificate following the steps provided by the admin console. Or, use a helpful utility feature called "Retrieve from port". This function allows you to specify the host name, port, and get the target server certificate at the same time adding it to the SSL configuration (Figure 34).
Figure 34. Retrieve from port feature
Once the SSL configuration on the server is updated with the target server
certificate, you can add the name of the selected SSL configuration to the
HTTP import binding. On the Security panel of the selected HTTP import
binding component, enter the value of the
SSL configuration name defined on the server
(Figure 35).
Figure 35. SSL configuration complete
This concludes the task of configuring SSL for the HTTP import binding component. The HTTP import binding can now to communicate with the target server via SSL.
Application execution instructions
Note that most of the URLs used in the sample application use port 9081. This port is used by the TCP/IP monitor tool. The TCP/IP monitor must be configured and started using this port to enable the application. You can create a new instance of the monitor by using a Window > Preferences dialog. Navigate to the Run/Debug > TCP/IP Monitor entry on the left panel. Then use the Add button to create a new monitor, setting your host name and local port 9081 to be monitored. Then start the monitor instance (Figure 36). If you do not want to use the TCP/IP monitor, then you need to modify the port according to your local server settings for all the URLs used by the JSPs, HTTP import bindings, and sample URL from the article.
Figure 36. TCP IP Monitor
This tool is useful, allowing you to watch what is being sent on the wire by different HTTP invocations.
Once the configuration for all the scenarios is complete you can deploy and run the client JSP page in the Web browser using the following URL:
The page displays the list of customers.
To add a new or modify existing customer, you need to copy the
Customers.xml file from the
CustomersLib library module to the
C:\Temp directory. Otherwise, you need to open
GetCustomers Java component implementation
and modify the value of the private variable
Once the XML file is available at the specified location, you can use this URL to add a new customer:
Another option is to use the link from
If you click on the displayed customer's name, then you can update the
existing customer's information using
If you click the Add a new customer link, then you can add a new
customer also using
If you click the Map link for the selected customer, you will see the customer's home and current locations pinned to the Google map.
The required Web projects
GenerateCustomerLocationService are always
deployed automatically along with
as it was specified in the list of that module's dependencies (Figure
Figure 37. Customer module dependencies
Download the Project Interchange archive file, PIapplication.zip. It contains the above described application which is fully configured, ready to be deployed and run. You can import it to your workspace using the attached Project Interchange archive file, explore the application, deploy and run it on the WebSphere Process Server 6.2 test environment.
In this article, we demonstrated six common scenarios of the SCA HTTP bindings. Each scenario is implemented in a straight forward fashion, including the custom Java components that some scenarios require.
As a result, you have built and configured a SCA application that is capable of:
- Handling dynamic target function selection based on the HTTP URL
- Transforming plain text POST requests into the business objects
- Mapping simple URL query parameters to a business object's fields
- Processing Atom feed requests and JSON formatted responses using provided data handlers
We also demonstrated how to:
- Create and use custom configurable data transformation components (data binding and data handler)
- Create and use a custom configurable function selector
- Enable SSL protocol for the HTTP import binding
The sample application demonstrated the use of the custom data binding, data handler, and function selector as a useful and powerful option that is easily re-usable and distributable.
This article highlighted the fact that you can use existing Integration Developer and Process Server tooling and runtime features, augmented by some limited customization, to easily enable HTTP bindings for some of the most common real-life scenarios.
Downloadable resources
- PDF of this content
- Code sample (PIapplication.zip | 133KB)
Related topics
- WeSphere Integration Developer 6.2 Information Center
- WebSphere Integration Developer 6.2 Information Center: Overview of data handlers
- WebSphere Integration Developer 6.2 Information Center: Overview of HTTP data bindings
- WebSphere Integration Developer 6.2 Information Center: Overview of HTTP function selectors
- WebSphere Integration Developer 6.2 Information Center: Customizing a function selector
- Sage feed reader
- Configuring SCA HTTP binding to enable real-life scenarios


text:
Columbia Housing | Availability & Eligibility | Timeline |
Application Information | Wait List | Non-Columbia Housing | Contact Us
Where Should You Live?
Deciding where to live during a student's time at Columbia is a very important decision, one to which serious consideration should be given. New York's many and diverse neighborhoods combined with an extensive public transportation system offer a variety of housing options that are convenient to the Columbia campus.
GS students reside in a range of housing situations. A number of students stay in University-owned buildings, many live at home, and some secure other non-University housing in the New York area. The housing information provided below, as well as in the acceptance packet, should provide enough information to begin looking for housing that will best meet each student's needs.
Columbia Housing
GS students are housed in facilities operated by Columbia Residential. Since few studio apartments are available, GS students are usually accommodated in apartments or dormitory-style suites shared by other Columbia students. Typically each student has his or her own bedroom while sharing kitchen and bath facilities.
Housing Availability and Eligibility
Student demand for housing regularly exceeds the allotment and housing is not guaranteed. The School is allotted a limited number of spaces by Columbia Residential each semester for new assignments.
Columbia Residential is available to students as well as couples and students with dependent children on a limited basis, and priority is given to those students moving from great distances. Students may apply for housing as soon as they have been admitted to the School of General Studies. Please consult the Housing Application Timeline section of the website for more information about housing decision notifications. Please note, only new students who have submitted a tuition deposit along with an acceptance reply form will be considered for housing. Students who live within 50 miles of campus will most likely be placed on the waitlist.
In order to be eligible for Columbia Residential, students must be enrolled full-time at GS (12 or more points per semester). Postbaccalaureate Premedical students enrolled for less than 12 points are eligible for University Housing if they are registered for at least 9 points and are simultaneously fulfilling their clinical volunteer work requirement of at least 3 hours per week and 42 hours per semester.
It is easier to be assigned Columbia Residential as a new student than as a continuing student. Students who think they may want University Housing are advised to apply for it now. Students may decline an offer if they later decide they do not want University Housing.
Housing Application Timeline
|Fall Semester
|Application Opens
|March 1
|Application Deadline
|July 1
|Review Process
|Early to Mid-July
|Housing Assignments*
|Early to Mid-July
|Wait List Opens
|Wait List Closes
|Late September
|Spring Semester
|Application Opens
|October 1
|Application Deadline
|December 1
|Review Process
|Mid-October to Mid-December
|Housing Assignments*
|Mid-October to Mid-December
|Wait List Opens
|Wait List Closes
*Students who do not receive housing assignments will automatically be placed on the waitlist.
Application Information
Log-in Information
- Sign-up Code: lion0203
- CUID: Students will also need their CUID in order to complete the application, which can be found in the footer of your admissions letter.
To apply, please follow these steps:
- Review the Housing Essentials and Types of Accommodations sections of the UAH website.
- Sign-up for a My Housing Portal account.
- Complete the Columbia Residential application.
Wait List
The Wait List Housing Process operates after regular fall and spring housing assignments are made. Students who do not receive a housing assignment are automatically placed on the waitlist.
Students will be notified on a rolling basis about coming off the waitlist, as space becomes available, and will have 24 hours to accept or decline the offer.
The likelihood of receiving a housing offer during the waitlist process varies from year to year and depends on available units and the demand for apartments across all schools at the University. While it is possible to receive an offer for housing as part of the waitlist process, housing is not guaranteed, and it is important to investigate options on the open market while managing the waitlist process.
Contact Us
Questions concerning University Housing may be directed to email@example.com.
Non-Columbia Housing
Non-Columbia Housing is comprised of rooms and apartments owned and operated by landlords other than the University that is not subject to inspection or approval by Columbia University. Many apartments are located within convenient walking distance; others require a commute by subway or bus. While we cannot recommend any spaces, we can give you some help with where to look.
Columbia's Off-Campus Housing Assistance Office (OCHA)
The Off-Campus Housing Assistance (OCHA) office maintains an online database of available apartments and rooms for rent in the greater metropolitan area. A UNI is required to sign up for OCHA; new students can activate their UNI accounts here. Students who do not yet have a UNI may create a guest account.
In addition, the OCHA Apartment Hunting Webinar offers valuable information for those searching for housing off-campus. It is available 24/7 and features detailed PowerPoint slides in a recorded webinar format.
Other Resources
Apartment Hunting Resources
Contains links to apartment listings databases, including OCHA, a free service available only to Columbia University students, as well as additional pertinent resources.
Long-Term Housing Options
Contains information on the many different types of long-term residential options available to students in New York. Students are advised to read the requirements for each residence carefully.
Short-Term Housing Options
Prospective students who wish to visit Columbia or students still looking for permanent accommodations may wish to consider the short-term housing options found on this page.

subset: commoncrawl


text:
Profile - Susan Niczowski
In 1991 Susan Niczowski identified a niche market for freshly prepared foods designed for hungry, time-pressed consumers. "Why should gourmet salads be enjoyed only when dining at fine restaurants or when family get-togethers call for my aunt Melody's famous mouth watering potato salad?" A question that she presented to herself before delving on her mission to create her dream product. It's no surprise that she made it amongst Canada's Top 100 Most Powerful Women by the Women's Executive Network (WXN) and her company scored among Canada's 50 best managed companies in 2005.
Attired in a trendy, two-piece blazer and skirt in her office at Woodbridge, Ontario, Niczowki compares food with her clothes closet. "While the staples like meat and potatoes stay the same, the foods that you use to accessorize this dish change with the seasons like fashion," she explains. "Food is Fashion" is a motto that the company is built around.
Born and raised in Downsview, Toronto, Niczowki acquired a degree in chemistry and mathematics from the University of Toronto and started working as a microbiologist at Shopsy's Foods, a leading meat plant and part of the Maple Leaf Foods Inc.
Even though she was satisfied with her position and "loved" her job, she decided to part with it. A quick scan of the market, made her realize that there was a need for fresh prepared gourmet foods. And she wanted to be the one to fill this untapped spot. So one day in 1991, she entered her mother's kitchen and both mother and daughter began their quest for creating gourmet salads.
For Niczowski it wasn't all about preparing salads - her degree in chemistry and experience working at a leading meat plant allowed her to develop the technology to preserve the freshness and quality of vegetables. She had come up with her dream product and soon began "tapping on delicatessen doors and one thing lead to another."
Entering a kitchen with the basic raw materials and wanting to create a market crasher requires some guts and a whole load of positive energy. However, she remained adamant to get out the other end of the tunnel clean. She just "took it one step at a time," and slowly and steadily began maneuvering those ingredients with her bare hands and soon gave birth to her gourmet products. "Like the Nike logo - Just do it!" she asserts with a certain degree of authority in her tone.
In order to cater to today's image conscious consumers, Niczowski ensures that her products look as great as they taste through some "tender love and care. A lot of the vegetables are hand-cut as opposed to equipment processed," she explains. "That utilizes more labour but at the same time the quality of the finished product is much better."
Niczowski's success is in part due to her awareness of the changing needs of today's consumers, who switch food as often as they switch fashion. "We taste and travel all across the world to see what's hot and what's not," says Niczowski.
Summer Fresh offers something new and exciting to the taste buds every season and recently launched a line of fresh chilled soups for summer with ingredients like strawberries, cranberries, blueberries. She has even managed to tap the Indian food market with the introduction of a line of Indian specialties including: samosas and pakoras.
Niczowski is married and has a two-and-half year old daughter. Raising a toddler and running a thriving food business is no doubt easy. But other than slight alterations, managing a family life together with a career isn't a hassle for Niczowski. "I actually had her in my office up until she was 18 months old. She used to come to sales trips with me and see our customers."
Even though she plays quite a significant role behind her company's triumphs, her modest nature doesn't allow her to take all the credit for it. "I can't do it alone. Can't do it without the great help and support from the people at home and my great team of employees at Summer Fresh." She never once used the word I when telling me about her business, rather preferred using we. Niczowski firmly believes that, "The pleasures of good food and drink, good conversation and good company are all enhanced when we share them, benefiting mind, body and soul."
Niczowski possesses an unconditional love for both work and family. She hasn't sacrificed one for the other and doesn't intend to, believing that balance is pivotal in order to get most out of life. Though, she stresses that one should always be happy in whatever he or she sets out to do. "You should wake up in the morning and enjoy going to work - life is too short."
Susan Niczowski is an entrepreneur to the core. Not only does she offer tantalizing dishes for the taste buds every season, but she was the first to set off a blazing trend in the market place by categorizing food and fashion under one umbrella. The simple concept seemed to have worked wonders for Niczowski.


text:
I really liked this book. Full of romance, suspense, edge of your seat excitement. It was hard not to read the end to find out who done it! Liked the two main characters. I highly recommend this book. Received copy for honest review. 5 Stars!
Bad to the bone…in all the right ways A brilliant civil lawyer, David Hennings has always been the outsider—at odds with his wealthy family, shunning relationships, defying convention as a sexy leather-jacketed biker. Which is why sculptor Amanda LeBlanc agrees to his request to reconstruct a skull from a cold case murder. The instant heat between them is scorching. But once Amanda takes the job and gets too close to the rebellious attorney, her carefully balanced life is upended by a series of methodical attacks. Someone doesn't want her to finish the job. Now David will risk everything not to lose the woman he unknowingly put in jeopardy.


text:
I love to bake. But since there's already about 5 gazillion recipes out there, I can't be bothered to come up with my own recipes. This is where I'll document my successes and failures with "swiping" recipes from other places. Of course, I'm an honorable swiper, and I'll give credit where credit is due.
Sunday, August 21, 2011
Plum Crumb Cake
11 comments:
I have not baked with plums before but I should while I can still get them, in the stores. I bet my husband would love this.ReplyDelete
I invite you to link this Bake with Bizzy.
I can say YUMMY 5 times! ;-) This sounds like a sweet slice of heaven to me. I do love fruit desserts. I've had the pleasure of eating many German recipes too, both sweet and savory. Thank you for sharing this great dessert at Joy of Desserts, Kirsten. Enjoy your day.ReplyDelete
Ya know this looks so awesome…So fun with the plums!! I want some RIGHT NOW and would be perfect for a Tea Party!! You are invited to link this up at Tea Party Tuesday if you want! Thanks again and yum yum! http://sweetology101.blogspot.com/2011/08/tea-party-tuesday-special-tea-party.htmlReplyDelete
here from Joy of desserts BTW!! :)
wow, this made my mouth water...yum, plums!ReplyDelete
I haven't baked with plums either but I've seen a lot of great recipes lately that use them. This one of them. It looks delicious! Thanks for sharing and inspiring on Sweet Indulgences Sunday.ReplyDelete
I love plums, but have never baked with them. This cake looks terrific. Come over and visit us today. We have a wonderful chicken and dumpling recipe.ReplyDelete
- AnonymousAugust 25, 2011 at 6:03 PM
What a pretty cake. Thanks for sharing at Cast Party Wednesday. I hope you will come back and join me next week for another awesome party full of fansastic recipes!ReplyDelete
Pflaumenkuchens ... gotta love that name! I've been looking for more ideas on how to use plums in baking. Thanks for sharing.ReplyDelete
Hi Kristen,ReplyDelete
Your Plum Crumb Cake looks so moist and delicious. I just love plums. Hope you are having a great week end and thank you so much for sharing with Full Plate Thursday.
Come back soon!
Miz Helen
Congratulations Kristen!ReplyDelete
Your recipe is featured on Full Plate Thursday. Hope you enjoy your Red Plate and have a wonderful week end!
Miz Helen
What a pretty cake and looks delicious. I love those Italian prune plums...this cake I have to make for sure. I still have a basket almost full, because the rest I made plum jam you can see on my blog.ReplyDelete
Love your Blog, I'm now a follower. Thanks for sharing. :-)


text:
Sorry no vehicle was found, please try again.
Pentagon Group aim is to provide you with a varied choice of used vans for sale in the Mansfield Area at a comptitive prices. Here you can be sure to find the best deals on second hand vans. Our used van selection is always changing as we consider ourselves one of Derbyshire?s leading used van dealers. We pride ourselves on our dedication to provide excellent service to you and our range of finance packages available on our on used vans means that your next purchase will be easy and affordable. Please don't hesitate to contact us if you have any queries regarding of the used vans advertised at Pentagon Mansfield today.
We have no vehicles in stock that currently match your search. Please adjust your search option above and try again.
85-95 High Road
Nottingham Nottinghamshire
0115 851 0210
Sutton Road
Mansfield Nottinghamshire
01623 549 074


text:
7024 Se Regency Lane is a $336,050, 2,948 square foot, 5 bedroom, 3.0 bath home on a 0.29 acre lot located in Gurley, AL.
Come live in Hampton Coves Newest Sub Division, The Beautiful Wilson Cove. Surrounded by Mountain Views & Country Living all within the City Limits of Huntsville. New Homes include Brick Construction, Architectural Shingles, Granite Countertops, Tile Back Splash, 9' Ceilings, Hardwoods, 8' Mahogany Front Door, Crown Molding, Stainless appliances, Side Entry Garage, Sprinkler Systems, Duel Fuel HVAC Systems (electric cool/gas heat), Tankless Gas Water Heaters & Smart Home Technology. Model Home Open Mon-Sat 10:00-5:00 & Sun 1-5.
|Above Grade Sqft
|Interior Features
Foyer - Smooth Ceiling
Foyer - Wood Floor
Living Room - Crown Mold
Living Room - Smooth Ceiling
Living Room - Wood Floor
Dining Room - Crown Mold
Dining Room - Smooth Ceiling
Dining Room - Wood Floor
Kitchen - Granite Countertop
Kitchen - Kitchen Island
Kitchen - Pantry
Kitchen - Recessed Lighting
Kitchen - Smooth Ceiling
Kitchen - Wood Floor
Family Room - Crown Mold
Master Bedroom - Crown Mold
Master Bedroom - Carpet
Master Bedroom - Double Vanity
Master Bedroom - Granite Countertop
Master Bedroom - Isolate
Bedroom 2 - Carpet
Family Room - Wood Floor
Bedroom 2 - Smooth Ceiling
Bedroom 3 - Carpet
Bedroom 3 - Smooth Ceiling
Bedroom 4 - Carpet
Bedroom 4 - Smooth Ceiling
Breakfast Room - Crown Mold
Other Room 1 - Carpet
Other Room 1 - Smooth Ceiling
|Fireplace Types
Family Room - Fireplace
Gas Log
|Cooling Types
Living Room - Ceiling Fan
Master Bedroom - Ceiling Fan
|Parking Types
Three Car Garage
Side Entry
|Exterior Features
Covered Patio
|Construction Types
Full Brick
|Property Type
|Property Sub Type
Single Family Detached
|Elementary School
hampton cove
|Middle School
hampton cove
|High School
Wilson Cove
Based on information from the North Alabama Multiple Listing Service® , last updated 05/26/2019 at 03:54pm MDT. All data, including all measurements and calculations of area, is obtained from various sources and has not been, and will not be, verified by broker or MLS. All information should be independently reviewed and verified for accuracy. Properties may or may not be listed by the office/agent presenting the information. Listing information is provided exclusively for consumers' personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. Information deemed reliable but not guaranteed by the MLS or this website.


text:
Fountain Home – Mesa
Fountain Home
8129 E. Fountain Street
Mesa, Arizona 85207
(480) 621-5575 – phone/fax
The Fountain Home offers a safe, caring, and comfortable environment for our residents. This attractive home is set in a an established Mesa neighborhood and features a spacious floor plan, fireplace, a fenced and landscaped back yard. The quiet street ends at the edge of a golf course with views of the Superstition Mountains. This home offers: Individual 24-hour attention from professional care givers Private and semi-private rooms Home-cooked meals All laundry and linen services Daily activities Private telephone lines Cable TV Available Wi-Fi
This home offers:
- Individual 24-hour attention from professional care givers
- Private and semi-private rooms
- Home-cooked meals
- All laundry and linen services
- Daily activities
- Private telephone lines available
- Cable TV
- Wi-Fi
Come Visit Us!
Please give us a call or come by for a visit. We know you'll like what you see and we welcome the opportunity to make one of our facilities a trusted home for you or a loved one.Get In Touch


text:
Korean Language
The Korean language is a language whose origins are very heavily debated. It is potentially considered to be an Altaic language, or Proto-Altaic language, because of certain grammatical similarities, for example, fusional morphology and relative pronouns. It is alternatively argued that Korean might be a Japonic language, on account of the similarities in vocabulary, but many modern linguists argue that the language has no clear root, but many influences from many sources.
Essentially, linguists have not yet been able to track the origins of the Korean language. However, with the split between North Korea and South Korea in the forties, there are clear differences in these dialects. There are notable differences in vocabulary, pronunciation and verb inflection, in particular.
The Korean language has around 80 million speakers worldwide. The majority of speakers reside within either South Korea or North Korea, although there are also many speakers of the Korean language living in China or the U.S. It is an official language in both Koreas, as well as being one of two official languages of the Yanbian Province in Northeastern China.
The language of Korean is written in the Hangul language. IN South Korea, the word for Korean is Hangungmal, which literally means "national language", whereas in North Korea the word for Korean is Chosonmal. There are many dialects of the Korean language, not only because of the split between North and South Korea, but because of the various levels of development in the cities.
Korean-American people who live in America have a very strong sense of national pride in the Korean language. This group of people makes up around 80% of students in higher education who are studying the Korean language.
Most of the Korean language dialects are very similar to each other, and if you learn the regional accent for one dialect, then you will be quite able to understand nearly all of the others. This is true of all the dialects except for the Jeji Island dialect, which is often classed as a separate language, though again there is much contention around this issue.
In the Korean language, the standard form for sentences is Subject Object Verb. However, this is relatively fluid, and only the verb is an immovable element of the sentence. Korean verbs come in two forms, which are action verbs or descriptive verbs. The former are verbs that describe doing words, while the latter are similar to adjectives, and are often described as such by English linguists.
As with Asian languages, Korean places a high priority on politeness in conversation. The relationship between the speaker and the writer must be established before the conversation begins, otherwise there is a strong risk of offending the recipient. It is always best to err on the side of caution, and assume that anyone older than you, or an employer/teacher, is superior in status.
This does not mean that you have to treat yourself as inferior, but only that it is a mark of politeness that is expected in both North and South Korea. Many young Korean people now, do not keep use these honorifics, but if you are visiting either of the Koreas, then it is best to try and be as polite as possible yourself.
Why Learn The Korean Language?
Korea, despite having an unfortunate military past, is a bright and vibrant country with a variety of festivals and special celebratory occasions. Learning the Korean language will also enable the learner to delve into the diverse world of Korean literature. There are many epic poems and traditional stories in the language of Korean, with writers putting pen to paper as early as 200BC. If you are a sporting person, or someone who has a penchant for martial arts, then learning the Korean language could help understand Taekwondo better, which is the national sport of Korea.
8 Comments
The reason why the Asian languages such as Korean and Chinese are considered difficult is that, i guess, each word has different forms to fit different situations.
For example, when u say 'i love you' u can say it whenver
but In Korean the basic form of love (verb) is 사랑하다.
and it can be changed to 사랑하여 사랑하게 사랑하지 사랑하고 사랑하는 and some more. In terms of learning reading, i don't think it takes so long to read Korean though
As a native English speaker, student of Korean, and fluent speaker of Mandarin Chinese I think the primary difficulty of korean is the agglutination not found in many "western" languages **excluding native american languages. However getting past this reveals a very beautiful and expressive language.
Korean does not use characters like Chinese, but rather has an alphabet (somewhat more straight forward than English even) that is just stacked by syllable, and not strung out letter for letter.
Even you'd like to say the same thing, forms of the sentence should change depends on types of realationship between people. It is different between when you talk to your brother and talk to your grandfather. There's a variety of types of showing the level of politeness or hierarchy. This kind of changing is spotted only in Japanse and Korean, but the latter is more complicated. It's hard to get unless you deeply understand their culture or the way they think. Hard to get without living in Korea.
Korean is a genuinely difficult language for a number of reasons. It's grammar, though systematic, is entirely different from what is found in English or other Romance languages and there are numerous ways to express the same concept due to its complex system of respect language. The sounds that are made in the language are not consciously made in English, such as their three-way consonants and slightly tricky vowels. During my time living in Korea, I have only met a handful Westerners that actually spoke fluent Korean, most of them being either military or missionaries. The only reason I was able to become somewhat proficient during my time there was due to the language's grammatical similarities to Japanese and how it shares a wealth of vocabulary with not only Japanese, but also Chinese; the two languages I had to study in university. The one relief in learning Korean is that it makes use of relatively simple alphabet instead of using Chinese characters. However, due to Korean having a limited set of possible sounds, many words, at least to me, seem very similar especially when reading; a problem that Korea's neighbors do not seem to have because of their use of Chinese characters. Despite all of this, learning Korean can be useful due to the growing Korean conglomerates that operate worldwide, and it has plenty of uses within the US government and military. It will not only allow you to work and socialize in Korea, but also with the vast populations of overseas Koreans that reside everywhere from Japan, the U.S., Canada, and even Brazil!


text:
You are here
i-Size ready cars are coming onto the market, with the new Volkswagen Passat one of the first to have i-Size seating positions as standard. i-Size (R129) is a European car seat safety regulation, which gives maximum protection to children.
Not only are i-Size car seats easier to install in cars, they're also safer because they allow rear-facing travel until the child is at least 15 months old. Plus, they give more protection to the child's head and neck.
i-Size in the new Volkswagen Passat
All editions of the new Volkswagen Passat and Passat Variant have i-Size seating positions with ISOFIX fixing points in the side back seats, marked with the i-Size logo. All i-Size car seats will fit these positions and can be installed safely.
Do I need to have an i-Size car to use an i-Size seat?
Most i-Size car seats can also be used in cars with ISOFIX anchorage points in the back seats – from tests, we know that the Bébé Confort 2wayFix fits up to 95% of these types of cars. You should always check a car seat fitting list though.
More i-Size cars on the way
Other car manufacturers have said they'll start including i-Size anchorage points in their cars, and we expect that many more will be on the way in the course of the next few years. It's all good news for child car seat safety, as support for the roll-out from by the European New Car Assessment Programme (Euro NCAP) shows.
Find out more about i-Size
All you need to know about i-Size
Rearward facing toddler car seat up to 4 years


text:
The Natural Way, Aug. 2 edition
What would it be like if a very safe and easily digestible common vitamin could be taken that would have far ranging benefit to our health?
Suppose this inexpensive ordinary vitamin wasn't so ordinary any longer. Suppose, as well, that it was beneficial for staying healthy, a well-known remedy for colds and flu, boosted our immune system health, slowed down the effects of aging and was proven in studies to have an effect on cancer and its metastasis (spread)?
Now how would you change your view of a common and ordinary vitamin if it did all this?
The vitamin that already does all of this is ascorbyl palmitate. It is a variation of vitamin C though ascorbyl palmitate is very different as it stays in your system longer.
It gets into cells more easily and will actually cross the blood brain barrier providing the strong and beneficial antioxidant benefits. Unlike regular vitamin C that is water soluble, ascorbyl palmitate is fat soluble like vitamin E.
Most everyone knows that regular vitamin C passes through your system very fast because it is water soluble. Ascorbyl palmitate doesn't. I found no evidence of toxicity at 2000mg/day. Though this is esterfied it is not the same as the supplement that is patented and trademarked as Ester-C (R).
I came across this version of vitamin C while reviewing a paper on supplemental treatment of cancer. The author claims to be a colleague of a scientist/physician that I knew back in my Harbor/UCLA Medical Center days, namely, Dr. Jerome Block.
Dr. Block was the chairman of the Department of Oncology. I was technical/administrative supervisor of the Division of Nuclear Medicine during the time. We saw a great deal of cancer and often worked in concert. I was unaware that Dr. Block was very interested in the use of natural food supplements; in fact, he published a number of studies on their usefulness.
When I did a PubMed search through the National Library of Medicine and the National Institutes of Health, I found 18 published abstracts of research referencing ascorbyl palmitate -- the first of which documented usefulness in reducing metastasis published by a Japanese university.
Not at all bad, for a vitamin that costs less than $20 for 25 days.


text:
10Km Run
Start Time: 8:00amCost: $35-55
Event information
This event is an individual race over 10 kilometres. The course follows the river along predominantly flat bike paths. The 10km runners run the Green course once. The 10km has a set start time of 8am.
Run – runners must run the Green course once.
Start Time: 08:00am
Location: Kurilpa Park, Brisbane
Cost: $35 – $55.00


text:
sponsored post/contains affiliate links
When I was teaching high school there were usually two reasons why a student would have difficulty focussing on tasks; either there was an external issue that I wasn't aware of (maybe they were still processing something which happened over lunch, maybe they were preoccupied with a relationship issue or maybe something was happening at home) or the lesson I was teaching didn't meet their learning style or interest. More often than not it was the latter.
I was reminded of this today during a visit to the National Portrait Gallery. Jack has a little friend; an amazing, creative, spontaneous, energetic little friend. He is fiercely intelligent and his ideas just burst forth. In a situation where the children are expected to be still and answer questions, these personality traits may come across as intense, off-task and disruptive.
But they couldn't be more wrong. These intensities aren't disruptive and they are far from off-task. They are a strong drive to know and understand, to share and express ideas.
"Children do not wait for our permission to think. Indeed, children are bursting with ideas that are always impatient to escape through language (and we say a hundred languages) to connect and communicate with the things of the world."
~ Louis Malaguzzi, Founder The Reggio Emilia Approach
Jack's little friend reminds me of Jack in so many ways. Jack is creative and spontaneous, he's energetic and intense. Teaching Jack can be either extremely stressful or incredibly rewarding. It all depends on me.
How does Jack learn? When I ask myself this question, my eyes are open to him; I watch him play, watch him create, watch which books he chooses to read, which art materials he chooses to use; I see him.
I know that he expresses his understandings through his hands. I know that he uses his whole body to share ideas; jumping around as he talks. I know that his drawings are inspired by the music in his head; humming and singing all the while.
I know that spoken stories soothe him; that he will sit and draw alone happily if he has an audio book playing. And I know that he recreates his understandings visually with materials he can manipulate.
I know these things now. And when I teach the way he learns, everything connects. Jack is engaged, questions are flying everywhere, there is a buzz of enthusiasm.
When I don't, when I lose track of whose learning this is and instead create learning experiences based on my learning style, (and probably worst of all) when I can not relinquish control; insisting that we complete the activity, things never go well. No learning of any value happens.
The only thing Jack learns is that my ideas and my ways are more valuable than his and that he needs to conform to my ways. And that is NOT something I want to teach him.
How do you feel when you are teaching or spending time with children? Do you feel energised most of the time? Or do you feel a little stressed, anxious and even a bit deflated? I think a lot of how we feel about teaching and the time we spend with children has to do with our approach. Are we teaching in the way our children learn?
How do your children learn? Or the students in your class? What languages do they use to express themselves and their understandings? Do they like to represent their ideas through building and drawing like Jack? Or are they logical and deliberate; creating lists, following steps, practising their handwriting and creating plans? Maybe they express themselves through writing, or through music and dance?
Maybe they need to move their whole bodies; and so find sitting still difficult, preferring instead to create bold strokes with a paintbrush or delve their fingers deep into a lump of clay. Or maybe, instead of completing writing practice sheets, they prefer to label drawings and write letters, or take on a more sensory approach; writing letters and words with water.
We need to take time to really observe our children; learn about how they learn, and engage in a continual dialogue of reflection so we can teach so they can learn. If that means changing our entire style of teaching, then so be it! It's their learning after all.
Jack is using the Photographic Atlas of the Body. It's quite an interesting book with all the workings of the human body captured in the most minute details. It's really fascinating.
Jack is also working with our Spielgaben set. If you're interested in investing in a set, Spielgaben offers an 11% discount to An Everyday Story readers. Simply email email@example.com mentioning An Everyday Story and they will reply with a discount coupon.


text:
- Details
- Category: Blog
- Published: Thursday, 19 September 2013 15:00
- Written by Larry Lewis
- Hits: 13920
The Agriculture Certificate of Environmental Stewardship (ACES)
A comprehensive presentation of the ACES program was offered to the Natural Resources, Agriculture, and Environment Interim Committee of the Utah Legislature on Wednesday September 18, 2013.
A PowerPoint presentation was offered as well as lengthy testimony from representatives of the Utah Department of Agriculture and Food, the Utah Farm Bureau Federation, the Utah Dairy Producers Assn., the Utah Conservation Commission, and others.
The PowerPoint presentation is available here.
The audio file of the hearing is available here.
What is ACES?
Under a legal mandate (Title 4 Section 18, Utah Code), the Utah Conservation Commission is developing the Agriculture Certification of Environmental Stewardship (ACES). The purpose of the program is to help farmers and ranchers, of all sizes, evaluate their entire operation to make management decisions to sustain agricultural viability, protect natural resources, support environmentally responsible agricultural production practices, and build positive public opinion.
Protects Natural Resources
The ACES process ensures farmers and ranchers are making decisions that balance production and environmental demands. Measures aimed at protecting soil, water, air, plants, animals, and other environmental factors mean ACES farmers are committed to farming and ranching practices that protect Utah's natural resources.
Viable & Sustainable Agriculture
The production of food and fiber is essential to a healthy population. ACES is based on scientific standards that allow farmers to address environmental concerns while remaining economically viable. As knowledge of the economy and the environment progress, so does ACES— its progressive planning continually strengthens agriculture and natural resources.
Connects Farms & Public Opinion
Agriculture plays a vital role in Utah communities, and UCES strengthens the relationships between farmers and their neighbors. Farmers and ranchers who closely examine their operation's potential impact on soil, water, air, plants and animals understand the impact their practices can have on their neighbors.
ACES is a collaborative effort of Utah farmers, the Department of Agriculture and Food, Utah Conservation Commission, Farm Bureau, local Conservation Districts, Department of Environmental Quality, commodity organizations, universities, and other state and federal agencies.


text:
Well… don't I feel like the kid disrupting the class by showing up late. There's no way to quietly sneak back into this and pretend as though I've been writing this whole time and didn't, in fact, miss an entire week's worth of posts. Suppose I ought to suck it up, then!
Truth is, I went on vacation with the best of intentions of writing each day. However, the adventure turned out to be more exhausting than I had ever anticipated! My partner and I alternated who felt like crud each day, and by the end we were both just ready to hibernate for the winter. It was a good time, although clearly not what we were expecting.
I feel like I ought to share with you a story from this adventure… I know! I'll tell you about The Bees.
Now, I am fully aware that bees are tiny creatures that are probably much more afraid of the giants in their environment than the giants are of them. Also, for the most part, they only sting when provoked or threatened. They can even be quite adorable if you take the time to examine them! But even knowing all of this, they terrify me.
We're not talking the normal, "Eek! A bee! I don't want it to sting me!" type of fear. I'm talking irrational paranoia bordering on phobia. I've known people in my time who were deathly afraid of clowns, butterflies and birds. I found it odd and hilarious, but I respected their fear. When you tell someone you're afraid of bees, people empathize. "Oh, me too!" They say. But they don't get it.
I go fleeing in the opposite direction, if I can, whenever one comes near. My heart rate instantly increases, I sweat, and it's a definite 'fight or flight' type of scenario. I have forced myself into the habit of playing the "if I don't see it… it doesn't exist" game. This usually fails, of course, because bees are prone to buzzing and if I hear it but can't see it, that is all the worse. If I can't run, I attempt hiding. Distractions sometimes help, but most of the time the buzzing just does me in.
I run. I try not to swat, but have started the "shooing" method that I've noticed Germans do – though it never seems to work for me. I cower. I don't scream, but I do implode. All of my senses are consumed with the need to get away. I am almost paralyzed with this fear.
So when we were out to a lovely dinner, sitting on a terrace shrouded by a curtain of rain, with a cool breeze wafting in to take the edge off summer, I was mortified to find myself the object of affection for no less than three of these little black and yellow terrors.
They had no interest in my partner. They had no interest in the couple dining at the table against the wall. No interest in the vines or flowers around the edge of the terrace. But my left arm sure seemed particularly fascinating.
I do not wear colognes or perfumes and choose subtle, plain deodorants precisely so that I do not attract such attentions. Our food had not yet arrived, either, so I have no idea what it was that attracted them… unless they were bully bees that could sense my fear and wanted tease me.
It should also be noted that despite this deathly fear, I wish them no harm. I really do find them adorable when they're not buzzing around me! If they simply crawled about instead of flying, I think I could tolerate them much more easily- alas, this is not the case.
My partner became worried for me when one dipped into my wine glass and almost drowned itself there. I hit my point of overload. Every time I brought the glass to my face, despite having checked it at least three times, I imagined I was going to feel a struggling little bee body against my lips that would then crawl onto my face.
Twice I left my seat to escape them and they followed me. I was near the point of hysterics when my partner was finally able to flag down a waiter to ask if we could move indoors. Of course, the wait staff did not help us to move the food that had arrived or the wine glasses. So when I picked up my bowl of soup, it almost went crashing to the ground as these three or four bees immediately came to float around me. It was as if they were taunting me!
I was just able to get the food inside, but had to send my partner back for my wine. He was patient and kind despite my apparent craziness. At least I didn't flail about like I used to?
Once inside, I began to calm down. The wine helped. We talked about my paranoia and I took deep breaths and the wait staff began to avoid us – surely I was crazy to have been so affected by some harmless insects! But the food and wine were both superb and I was enjoying them immensely. I began to feel normal again.
As I scooped another bit of delicious soup into my spoon, I thought of how silly this all must seem. How silly to be so terrified! Honestly, what is the worst that could happen? I've been stung before and it's really not that awful. What is so terrifying?
I went in for another dip of the delicious Kartoffelsuppe and that's when I saw it. One of those little buggers had kamikaze'd into my dish and drowned itself! The sharp blackness of its stripes and wings protruding through the thick golden succulence like the hull of a ghost ship mired in a shallow sea. Dead.
How I managed to miss it before this point is beyond me. The wait staff became a bit more forgiving of my behavior now that I seemed to be eating the things, at least. It was like I was in some horror movie.
Alfred Hitchcock's The Birds gave me nightmares for years in my youth.
This was The Bees.


text:
Sunday, May 14, 2017
Valeggio (VR)
Valeggio veste il Vintage, the exhibition open-air market most-watched of the province of Verona.
Over 50 fashion stand, antique accessories, design and modern explode in all their beauty in Piazza Carlo Alberto, outdoors, in the streets of the historic center of Valeggio sul Mincio (VR).
A.N.G.E.L.O. will be present with its own stand.


text:
In a sea of South Indian restaurants, Sri Muniyandi Vilas focuses on dishes from Chettinad, where, unlike much of South India, the cuisine is heavily nonvegetarian. The restaurant also specializes in Indian-Chinese cooking.
Chicken kothu paratha is a big winner, says zartemis. It's a very large portion of well-spiced dark meat, served with curry sauce. "We'll be getting this again frequently." Pepper chicken is whole dark-meat pieces—most of the chicken here is dark meat—cooked in lots of onions and spices. There's also complexly flavored chicken chettinad.
"Regular" biryani is actually Chettinad style, with egg, well-browned rice, and long-cooked spices. Meat (mutton or chicken) is served on the side, as is raita and curry sauce.
"I haven't enjoyed the Indian Chinese dishes I've had elsewhere, but I like the all the ones we've tried at Muniyandi so far," says zartemis. Maybe the best is the simple chili gobi, featuring cauliflower with a nicely fried crust and good heat. Sichuan chicken noodles, too, are surprisingly good. And if all else fails, there's a wide range of the South Indian staples idli, dosa, and uttapam.
Sri Muniyandi Vilas [South Bay]
3064 El Camino Real, Santa Clara
Board Link: Good Chettinadu and Indian Chinese dishes at Muniyandi Vilas (Santa Clara)


text:
Wireless EV Charging Reaches Europe
Remember wireless EV charging? It's catching on. Automotive manufacturer Karabag is starting a new research project in Hamburg, testing out how to make the best magnetic induction EV charger possible. Nissan is, of course, still pushing forward with its wireless charger for the Leaf.
Researchers pushing ahead with inductive charging technology are counting on it becoming standard for electric vehicles within the next ten years. Problems with current EV charging stations, such as mechanical wear, vandalism, or accumulation of dirt, are cited as becoming markedly reduced by using a wireless system (although I'm not sure, exactly, what makes a wireless charger any cleaner).
Projects, Programs, and Installations
Karabag's research project is funded by a federal research program, and involves installing 20 charging stations around Hamburg. Customers can participate for a fee of 198 Euros per month; their electric vehicles are outfitted for induction charging, with an onboard charger installed behind the front license plate. In order to charge the car as efficiently as with an actual physical cord, the car has to nearly touch the front plate to the charging station.
A number of companies are participating in Karabag's project, including manufacturer Vahle, who designed the charging stations. Also supporting the experiment are Finepower – developer of the onboard charging unit – and logistics company Hermes. "We want to be able to use this innovating charging process in daily life," said Hermes CEO Philip Noelling to German blog Autobild.
Nissan's project is also steadily chugging along, with its system for the next generation of the Leaf expected to hit the market in 2013. In order to charge the battery, the EV will just have to park on top of a charging coil installed in the ground. Nissan's subsidiary Infiniti will be making the electric limousines announced for 2014 compatible for wireless charging as well.
Source: Autobild.de | Image: Nissan.


text: Last year at New Designers we presented the first Designersblock associate prize to Patrick Stevenson Keating for his Quantum Parralellograph and for "Outstanding Creativity and Original Thought". We have since shown Patricks work in London and Milan and got to know him very well. We are pleased to announce that this years award went to Andrew Knott for his project Faber .


text:
Vivid performances from players and singers committed to projecting both text and music with character and imagination.
The latest release from the award-winning viol consort Phantasm sees them turning to the consort song repertory for the first time, with singular results. Geraldine McGreevy is a different type of singer from those normally heard in early music these days, her firm clarity and fast vibrato sounding rather more like the kind of voice one used to hear in the 1970s. Ian Partridge, of course was one of those voices (though not of that particular sort) and it is interesting to hear him again now, his easy tones sounding as instantly recognisable as they ever did. This suggestion of a throwback is not intended as a criticism, however; rather it is a recognition of the individuality that Phantasm bring to their music-making. Just as no other viol consort offers such a rich and vibrant instrumental sound, so there can be a tendency among many performers of consort songs to make the voice imitate the viol, recessing it in the texture and suppressing some of its natural expressiveness. Here the opposite approach holds sway: Phantasm, one feels, are really 'playing the words'. and with good reason. McGreevy, for one, is not going to pretend that she is anything other than a fine young singer with something to say of her own. She allows herself a little portamento from time to time, uses voice colour to good effect (for instance in contrasting 'Peace and quietness' and 'Terrors great' in Rejoice unto the Lord) and shows herself equally adept in lively rhythmic numbers such as Though Amaryllis dance in green and more elegiac songs such as Fair Britain Isle or the near-epic Lullaby my sweet little baby. Partridge has fewer songs to sing than McGreevy, but then he has the plum in Ye Sacred Muses, Byrd's great lament on the death of his teacher Tallis, which he delivers with simple feeling, yet adding one telling and memorable detail: a tiny extra note in the third-last phrase, the musical equivalent, it seems to me, of an emotional crack in the voice.


text:
Mathematics Department
Welcome to the Mathematics Department
The department is located in the Technical Education Center and consists of nine full-time and about 30 part-time, faculty members.
The department offers a full spectrum of courses from basic mathematics through Statistics, Calculus, Linear Algebra, and Differential Equations to meet the needs of students with a wide variety of goals.
Courses are scheduled throughout the day and evening from 7:45 a.m. to 9 p.m. Monday through Thursday. Courses are also offered on Fridays and Saturdays. The Math Lab is staffed with experienced instructors and student tutors and offers a wide variety of tutoring services, including workshops.
The Mathematics Department at LASC is committed to making your math experience the best possible!
For more information, contact:
Chair: Dr. Lernik Saakian
Email: firstname.lastname@example.com
Phone: 323-241-5366
Location: TEC, Room 281D
Student Resources
Math 110 Study Guide (2015-16 version)
Math 110 Practice Test answers
Math 110 Practice Test rubrics
Math 115 Study Guide (2015-16 version) - Department Final Exam - Samples
Math 115 Practice Test answers
Math 115 Practice Test rubrics


text: Turkey's Prime Minister has arrived in Erbil on the second leg of a trip to Iraq aimed at bolstering Ankara's role in the fight against ISIL. Binali Yildirim's meeting on Sunday with the head of Iraq's Kurdish region Massoud Barzani follows a meeting on Saturday with his Iraqi counterpart in Baghdad aimed at overcoming differences between the two countries over Iraq's role in the battle to take Mosul from ISIL. Yildirim is hoping his meeting with Barzani will enhance ties between Turkey and the Kurdistan Regional Government (KRG) over three main issues: the fight against the Islamic State of Iraq and the Levant group (ISIL, also known as ISIS), trade, and Turkey's fight against Kurdish separatists lead by the PKK. On Saturday, Turkey's Prime Minister Binali Yildirim met his Iraqi counterpart Haider al-Abadi in Baghdad [Reuters] The KRG and Ankara will probably want to continue building on the estimated $8bn worth of trade between the two. But Turkey's fight against the PKK and other Kurdish groups, who Ankara blamed for numerous bombings across Turkey that have killed hundreds of civilians, will serve as a point of contention between the two leaders. READ MORE: Turkey vows active role in Syria, better regional ties Yildirim also met on Saturday with Iraqi Prime Minister Haider al-Abadi, with the relationship between the two governments under pressure. At the heart of the fallout between the two was the presence of Turkish troops in Baashiqa, a town near Mosul that has served as one of the frontlines in the battle against ISIL. Baghdad has called for their withdrawal, but Turkey has maintained that their troops would only leave once ISIL was defeated. Ankara says that their estimated 500 troops in Baashiqa were invited by local forces to help train Iraqi militias and Peshmerga forces in the fight against ISIL, though they never got permission from Baghdad. Has Turkey bitten off more than it can chew? "This Turkish delegation came to Baghdad more for economic purposes, as well as to push for certain policies regarding the PKK, in return for their withdrawal from Baashiqa," Metin Gurcan, a military analyst, told Al Jazeera from Istanbul. "There has been tension since the diplomatic crisis that erupted in October 2016 over Baashiqa, where Baghdad is complaining that Turkey has an uninvited presence," Gurcan added. "Ankara will agree to withdraw [from Baashiqa], but in return for this gesture, the Turkish government wants the disruption of the PKK's presence in Sinjar region, which connects Iraq to Syria - this region is very important for Ankara." Gurcan says economic discussions came as Baghdad and Ankara were in "an economic crisis and have an appetite to fix this", including the planning of a new pipeline project that would transport Iraqi oil to Turkey, which would then be able to access global markets. "It is important to note that there is a very big delegation accompanying the Turkish prime minister, including delegates from the ministries of defence, economy, energy, trade, and especially important Turkish businessmen." SOURCE: Al Jazeera News


text:
Ecuación de Valor Equivalente
Renting or leasing computer systems is becoming more popular for individuals, organizations, and corporations.
Many of our customers see significant benefits in renting or leasing a computer. They are able to pass off the costs of maintaining
the systems, and once the computers are insufficient to meet their needs they are able to easily get a new system. Ask us
if renting or leasing is the right option for you or your company.
Here are examples of some rental options: * Laptops * Desktops * Printers
For More Information
If you do not see what you are looking for on this page, please let us know. We will try to find what you need as quickly
as possible.
© Derechos
Reservados WebSites "Matemáticas
Miguel El Salvador, marzo de 2008
Cualquier consulta, favor hacer la saber al siguiente correo electrónico:


text:
Bucky Badger for a Day
UW-Madison, I'm heading your way next Wednesday thanks to your AASU.
I'll be talking about how Thick Dumpling Skin came about and doing a workshop on how we think of our bodies. The last time I visited Wisconsin was quite a few years ago. I was out in some rural area and I remember buying my first authentic leather cowboy hat that is still sitting in my parents' house.
I have a feeling that this visit might be a little different.
MSC Lounge, Red Gym
Wednesday, April 17th, 2013
7 pm - 9 pm.
RSVP on Facebook here and I'll see you soon! Oh, and if you have recs on what I should do or see during my visit, let me know.
- Lisa
Do you want Thick Dumpling Skin at your event? Contact us!


text: Dont DIY, Hire A Pro dont take on the additional cost of having to repair or fix an improper repair job Posted January 17, 2017 If you have ever attempted to DIY a home repair, you know things are never as easy as they seem. Furnace repair is a DIY project a homeowner should never try to take on. Pinterest-fails are fun to watch, but furnace breakdowns can be costly, and even risky. We have been requested for numerous DIY-projects gone wrong in Kennesaw and if you do come across a problem we're constantly here to help. Hopefully after reading this you'll think twice before diving into furnace repair yourself. Additional Costs The point of DIY is to try to save a few bucks, but many homeowners have ended up costing themselves a lot more when having a go at repairs themselves. The technicians at Total Comfort Solutions learn for years and receive continuous training to be able to comprehend how to correctly repair your system. They also use specified tools and devices. Unless you already have these tools, those costs could possibly sum up to what you would be paying for professional furnace repair in Kennesaw. You'll also have to factor in how much your time and effort is worth. Safety Addedcosts are one thing, but an even bigger fear with DIY furnace repair is your own safety. Professionals are trained to recognize how to restore your system to keep it operating safely and correcting your trouble accurately. DIY mistakes can be expensive. It's not worth placing yourself or your family in danger to try to save money. We are not doubting your work efforts, but we just want to keep you safe and keep your furnace functioning easily for as long as possible to keep your home comfy in Kennesaw. If you're in need of furnace repair or if your DIY project turned out to be a mess, give us a call at 404-987-5502. We are ready and here to help. Back To Blog