poniedziałek, sierpnia 14, 2006

WSE do wykorzystania

Related Resources
Get Visual Studio 2005
Microsoft .NET Framework SDK
Visual Studio Developer Center
Web Services Enhancements (WSE) Home

Top of page
What Others Are Downloading
Others who downloaded Web Services Enhancements (WSE) 3.0 for Microsoft .NET also downloaded:
Microsoft .NET Framework Version 2.0 Redistributable Package (x86)
Web Services Enhancements (WSE) 2.0 SP2 for Microsoft .NET
Web Services Enhancements 3.0 Hands On Lab - Exploring Security
Web Service Security Guide
Web Service Software Factory

Wklejono z <http://www.microsoft.com/downloads/details.aspx?familyid=018a09fd-3a74-43c5-8ec1-8d789091255d&displaylang=en>

PHP w .NET?

Phalanger - Company Microsoft
Product URL - http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger

Product Description:
  • Phalanger is a new PHP implementation introducing the PHP language into the family of compiled .NET languages. Phalanger provides PHP applications an execution environment that is fast and extremely compatible with the vast array of existing PHP code. Phalanger maintains the way how PHP web applications are developed and deployed so that the user need not to learn and use the ASP.NET style of web development.

RDS ci pomoże

Command prompt 2: If you want to connect to a terminal server via the command prompt you can do so by typing
mstsc -v:servername /F -console
and hitting , where mstsc represents the remote desktop connection executable file, -v specifies which server to connect to, /F is for full-screen mode, and -console is there to indicate that you want to connect to the console.

Różności

  1. Web Service i VFP, Cóż prawda jest taka, że MS przestał rozwijać pakiet SOAP. W jego ostatniej wersji 3.0 wszedł w program instalacyjny VFP 9.0 ale to już koniec. Co mamy w zamian- MS rekomenduje ASP.NET.
  2. Nie jest tak różowo z bezpieczeństwem w Open Office - http://www.linuxworld.com.au/index.php?id=2013250670&eid=-50 - jak wskazują badacze zajmujący się bezpieczeństwem we francuskim Ministerstwie Obrony. No cóż samo życie.
  3. How do I… create a XML document from undefined legacy data? Edmond Voychowsky - niezawodny autor wielu ciekawych publikacji na TechRepublic opisuje projekt w C# jak wczytać w elegancki sposób "płaski" plik tekstowy. http://ct.techrepublic.com.com/clicks?t=4546173-a59433163422972db81206ef8831ad7b-bf&s=5&fs=0
  4. Inny b. ciekawy artykuł "Building and using table UDFs in SQL Server" jak wykorzystać funkcje wbudowane (UDF) do zwracania do aplikacji tabel a nawet b. skomplikowanych poleceń SELECT SQL. Dostępność od MS SQL 2000 Server wzwyż.

Zacznijmy od poczatku:

  • CREATE PROCEDURE simple_ap
    ( @cityID integer )
    AS
    SELECT CustomerID, CompanyName
    FROM Customers
    WHERE Customers.CityID = @cityID

Teraz trochę bardziej skomplikowany przykład:

  • CREATE FUNCTION [dbo].[Customers_By_City_Select] -- denotes table UDF
    (
    @city nvarchar(15)
    )
    RETURNS TABLE
    AS
    RETURN
    (
    SELECT CustomerID, CompanyName
    FROM dbo.Customers
    WHERE Customers.City = @city
    )

Wywołanie takiej procedury:

  • EXEC simple_ap 12345

Inny przykład:

  • SELECT * FROM Customers_By_City_Select ('Berlin')


Zabawę można kontynuować dalej np.:

  • SELECT Customers_By_City_Select.CustomerID, OrderID
    FROM Customers_By_City_Select ('Berlin')
    INNER JOIN Orders ON Orders.CustomerID = Customers_By_City_Select.CustomerID


Wg. http://articles.techrepublic.com.com/5100-9592_11-6100403.html?tag=nl.e606

WS-Security

Z witryny IBM - http://www-128.ibm.com/developerworks/library/specification/ws-secure/

Bezpieczeństwo usług internetowych (WS), początkowo zakładano, że WS odbywa się w bezpiecznym środowisku np. poprzez protokół https (transport w niższej warstwie sieciowej). Założenie te nie zawsze może być spełnione dlatego opracowano standard wymiany protokołu SOAP niezależnie od transportu.
  • Zabezpieczenie komunikatów SOAP opracowane w WS-Security są w trzech obszarach: integralności (wykorzystuje standard XML Security),
  • poufności (XML Encryption) i
  • autentykacji (różnego rodzaju żetony stosowane w przemyśle: Username t., X.509 t., SAML t., Kerberos t.)
Celem było stworzenie elastycznej ramy do której można wpisać możliwie dużo istniejących już modeli bezpieczeństwa i technologii kryptograficznych.
WS-S udostępnia ogólny i rozszerzalny mechanizm kojarzenia komunikatu z żetonem (token) bezpieczeństwa.
Podkreśla się, że WS-Security samo w sobie nie jest kompletnym rozwiązanie problemu bezpieczeństwa. Należy je traktować jako część rozwiązania w powiązaniu z innymi metodami zabezpieczeń np. stosowanie specyficznych protokołów. Opis standardu jest na stronach OASIS (ftp://www6.software.ibm.com/software/developer/library/ws-secure.pdf).

Zasoby sieciowe:

niedziela, sierpnia 13, 2006

AJAX, Java, Flash, and .NET @ AJAXWORLD MAGAZINE






Zasoby AJAX
M. Driver, R. Valdes, and G. Phifer. "Rich Internet Applications Are the Next Evolution of the Web." Gartner Research Note. G00126924. May 4, 2005.
Coach Wei. "XML for Client-side Computing." XML Journal. (http://ajax.sys-con.com/read/44013.htm). March 10, 2004.
Dion Hinchcliffe "When the worlds of SOA and Web 2.0 collide."ZDNet. http://blogs.zdnet.com/Hinchcliffe/?p=35). April 2006.
Dana Gardner. "Nexaweb draws a brilliant bead between SOA and AJAX values." ZDNet, http://blogs.zdnet.com/Gardner/index.php?p=2269. March 2006.
Laszlo Systems: http://www.lazslosystems.com/
Adobe Flex: www.macromedia.com/software/flex/
Laszlo Systems: www.openlaszlo.org/lps-latest/docs/reference/script.html
Nexaweb Platform: http://www.nexaweb.com/
Nexaweb jRex: http://www.nexaweb.com/
Dojo toolkit: http://www.dojotoolkit.org/
Rico Ajax toolkit: http://openrico.org/
DWR: http://getahead.ltd.uk/dwr/
Thinlet: http://www.thinlet.com/
Apache Kabuki: http://kabuki.apache.org/
Nexaweb aRex: www.nexaweb.com/products.aspx?id=326
Microsoft, XAML, and Windows Vista: http://msdn.microsoft.com/windowsvista/about/#wpfx
Backbase: http://www.backbase.com/
JackBe: http://www.jackbe.com/
Isomorphic: http://www.isomorphic.com/
Bindows: http://www.bindows.net/
Laszlo Systems. "Laszlo Systems Announces Plans To Extend OpenLaszlo Platform to Support Delivery of Web 2.0 Applications in Browsers Without Flash." www.laszlosystems.com/company/press/press_releases/pr_mar_06.php. March 2006.
Nexaweb. "Nexaweb To Introduce Ajax Developer Edition." www.nexaweb.com/news.aspx?id=329. March 2006.

jjjj

Podstawy interfejsu użytkownika

Zasady transmisji danych przedstawił Claude Shannon (matematyk z Ball Lab) kiedy w 1948 roku opublikował pracę "Mathematical Theory of Communication". Komunikacja działa wg. zasady: Source - Encoder - Channel -Decoder -Destination. Podobnie opisał w 1915 roku twórca semiotyki Ferdinand Saussure model komunikacji przy pomocy mowy. Zasługą C.S. jest wyróżnienie elementów sieci komunikacyjnej: 1) ilość transmitowanej informacji 2) szerokość pasma transmisji i 3) jakość transmisji. Starał się też wyznaczyć miary przekazywania informacji. Sieć komunikacji elektronicznej jest podobna do sieci komunikacji ludzkiej (człowiek posługuje się trzema kanałami - interfejsami: dialog wewnętrzny, dialog zewnętrzny oraz dialog płci) ale ustępuje mu szybkością i efektywnością.

Ciekawe odnośniki:
  • Lucent Technologies (2006). An overview of information theory. Retrieved April 16, 2006, from www.lucent.com/minds/infotheory/what5.html.
  • McCloud, Scott. (1994). Understanding Comics. New York: HarperPerennial.
    Saussure, Ferdinand de. (1988). The object of study. In D. Lodge (Ed.). Modern Criticism and Theory (pp. 2-9). New York: Longman.
Ciekwaw biblioteki i ramy do tworzenia aplikacji (framework):

sobota, sierpnia 12, 2006

IBM też coś ma dla Ciebie, poważnie












IBM, na bazie produktu - serwera aplikacji Java - zakupionej firmy Gluecode proponuje nowy produkt typy "entry" do w miarę bezboleśnego wejścia w świat J2EE. Jest to IBM WebSphere Application Server Community Edition V1.0.1.2 oparty o otwarty projekt Apache Geronimo (Tomcat). Dzięki temu dostajemy gotowca, w pełni zintergrowanego serwera Tomcat z innymi produktami: Log4J, Axis, JAAS wraz z pełnymi narzędziami konfiguracyjnymi. Dobra robota...

Jak SAP z MS

Projekt Mendocino zmienił nazwę na Duet i jest to wspólne przedsięwzięcie między MS i SAP skierowane ku information workers w celu ułatwienia im dostępu z pakietów biurowych MS Office do systemów SAP. "...The product is available from SAP, as of June 28, 2006. Please contact your account executive for more information..."

piątek, sierpnia 11, 2006

IBM da ci dużo (i jeszcze więcej)

IBM napisał konektor (framework) umożliwiający współpracę między aplikacjami napisanymi w Javie (JSP lub czyste servlety)i uruchamianymi w środowisku Websphere Application Server Community Edition a aplikacjami w PHP (<http://www.alphaworks.ibm.com/tech/phpintwasce/download>)
Jak to działa:

Update: August 1, 2006
Updates to the documentation and samples enable easy access to the forum for questions and comments.
What is PHP Integration Kit for WebSphere Application Server, Community Edition?
PHP Integration Kit for WebSphere® Application Server (WAS), Community Edition (CE), allows users to integrate PHP-based scripting into their Java™ 2 Enterprise Edition (J2EE) applications. Integrating these technologies gives programmers the advantages of both PHP and Java, providing greater flexibility in deploying dynamic applications, building Web front ends, and creating development projects.
The PHP Integration Kit provides a sample Web application that can contain Java resources (JSPs and servlets, as with any J2EE Web application) as well as PHP scripts. The sample application is preconfigured to forward each PHP request to a separate PHP run-time environment, which then executes the requested PHP script. Users can then manage the combined Java/PHP application as a single unit within WAS CE: Users can deploy and undeploy the application using the WAS CE administration console and can apply security constraints to both Java and PHP resources using the J2EE security model.
This technology runs on Windows® and Linux® (see Requirements section for details).
How does it work?
The PHP Integration Kit provides a Web application containing a servlet filter that communicates with a PHP run-time environment using the FastCGI interface. Users download and install a PHP run-time environment and any prerequisites, such as MySQL, for their platform, as explained in the PHP Integration Kit's documentation. The user can then package the PHP application and modules using the kit's Web module template, which is preconfigured with the necessary deployment descriptors to invoke the PHP run-time environment and to forward PHP requests to that run-time environment.

Wklejono z <http://www.alphaworks.ibm.com/tech/phpintwasce>

Innym projektem jest klient do WS - narzędzie do testowania usług internetowych IBM Generic Web Services Client Tool
A generic client written in PHP and capable of secure and non-secure calls for use in testing Web services. Date Posted: May 23, 2006
What is IBM Generic Web Services Client Tool?
This tool is designed for testing existing Web services from a Linux®/Apache/MySQL/PHP (LAMP) environment, as well as from WAMP (the corresponding Windows® environment). When given a Web Service Definition Language (WSDL) specification, this tool is capable of secure and non-secure calls when using PHP SOAP (Simple Object Access Protocol) extension, and simple non-secure calls when using NuSOAP.
The interaction consists of a selection of a WSDL and a method within that service, formatted input insertion (as dictated by the WSDL), execution of the method call, and raw (or formatted) display of results.
How does it work?
IBM Generic Web Services Client Tool is a PHP program that runs on an Apache server. It is meant for testing Web services as well as the capabilities of a PHP client. The tool provides both direct and indirect (low-level) calls, using either the PHP5 SOAP extension or the NuSOAP package.
The tool allows the user to select a WSDL. The WSDL is parsed and all available methods are presented for selection. Once a method is selected, a method-specific form is displayed and the user may fill it with the desired values and then execute a method call in several client modes (SOAP or NuSOAP call, direct or low-level call, etc.). The tool presents the call results and other related information.

Świetny portal - http://www-128.ibm.com/developerworks/websphere/downloads/

Można ściągnąć i uruchomić WAS Community Edition http://www-128.ibm.com/developerworks/downloads/ws/wasce/?S_TACT=105AGX10&S_CMP=WESDL

Wihajstry na tapecie

Moda na wihajstry
Coraz więcej firm internetowych (Opera, Yahoo, Google - http://desktop.google.com, Microsoft) wpuszcza internautów w przysłowiowe maliny dając im do ręki wihajstry tzw. Widgets. Wihajstry to potencjalnie bomba zegarowa (koń trojański) umożliwiający wpuszczenie do komputera skryptu w JS, który ma dostęp do wszystkich zasobów lokalnych komputera oraz z definicji również do Internetu. Tym nie mniej pomysł jest ciekawy i podobny do maszyny wirtualnej Javy JVM z Appletem czy też instalacji "grubego" klienta (np. VFP) tylko, że mniej bezpieczny bo niczym nie kontrolowany.

Co może Ci dać Yahoo? Serio...

2006-08-11; 06:45
Na portalu Yahoo dla deweloperów (http://developer.yahoo.com/python/python-rest.html) znajduje się informacje dla twórców nie tylko PHP ale również i Pythona.
Dla fanów JavaScript też jest tam swój kącik http://developer.yahoo.com/javascript/, jak również informacja o wihajstrach (widgets).
Usługi internetowe są zbudowane na wkompilowanej w ten język bibliotece urllib/urllib2. Obsługa autentykacji jest możliwa. Przykład:

import urllib
url = 'http://api.search.yahoo.com/ ContentAnalysisService/V1/termExtraction'
appid = 'YahooDemo'
context = '''
Italian sculptors and painters of the renaissance favored
the Virgin Mary for inspiration
'''
query = 'madonna'
params = urllib.urlencode({
'appid': appid,
'context': context,
'query': query
})
data = urllib.urlopen(url, params).read()

Jeżeli tego mało to można skorzystać z alternatywnej biblioteki (instalowanej oddzielnie)httplib2 (http://bitworking.org/projects/httplib2/).
Opis usług internetowych dla języka Python można znaleźć tu http://diveintopython.org/http_web_services/index.html.
Jest też informacja o tym jak parsować w Pythonie struktury JSON i XML.

czwartek, sierpnia 10, 2006

Page 2 - Datasets in Microsoft.Net

Page 2 - Datasets in Microsoft.Net: "Using C#.Net


string strConn,
strSQL;
strConn = 'Provider=SQLOLEDB;Data Source=(local)\NetSDK;'
+
'Initial
Catalog=Northwind;Trusted_Connection=Yes;';
strSQL = 'SELECT CustomerID,
CompanyName, ContactName, Phone '
+
'FROM
Customers';
OleDbDataAdapter da = new OleDbDataAdapter(strSQL,
strConn);
DataSet ds = new DataSet();
da.Fill(ds,
'Customers');"

HOWTO:AJAX workaround - ITtoolbox Wiki

HOWTO:AJAX workaround - ITtoolbox Wiki:
"function processStateChange(){
statusDiv = document.getElementById('status');
if (req.readyState == 0){ statusDiv.innerHTML = 'UNINITIALIZED'; }
if (req.readyState == 1){ statusDiv.innerHTML = 'LOADING'; }
if (req.readyState == 2){ statusDiv.innerHTML = 'LOADED'; }
if (req.readyState == 3){ statusDiv.innerHTML = 'INTERACTIVE'; }
if (req.readyState == 4){ statusDiv.innerHTML = ' '; }
if (req.readyState == 4){
if (req.status == 200){
response = req.responseText;
destinationDiv = document.getElementById(dest);
destinationDiv.innerHTML = response;
} else {
statusDiv.innerHTML = 'Error: Status '+req.status;
}
}
}
function loadHTML(url, destination){
dest = destination;
if (window.XMLHttpRequest){
req = new XMLHttpRequest();
req.onreadystatechange = processStateChange;
req.open('GET', url, true);
req.send(null);
} else if (window.ActiveXObject) {
req = new ActiveXObject('Microsoft.XMLHTTP');
if (req) {
req.onreadystatechange = processStateChange;
req.open('GET', url, true);
req.send();
}
}
} ... "

The SPS Weblog - Hosting a .NET ActiveX Control in Visual FoxPro

The SPS Weblog - Hosting a .NET ActiveX Control in Visual FoxPro

Calvin Hsia's WebLog : Create a .Net UserControl that calls a web service that acts as an ActiveX control to use in Excel, VB6, Foxpro

Calvin Hsia's WebLog : Create a .Net UserControl that calls a web service that acts as an ActiveX control to use in Excel, VB6, Foxpro: "Create a .Net UserControl that calls a web service that acts as an ActiveX control to use in Excel, VB6, Foxpro"

Mixed up on Internet Explorer - Rick Strahl's WebLog

Mixed up on Internet Explorer - Rick Strahl's WebLog - ciekawe uwagi nt, IE gorzkie slowa ale prawda jest taka, ze wbudowana w OS przegladarka IE jest naprawde potrzebna.

VFP i BLOB-y

Rick Strahl's WebLog
Bob Lucas posted a nice Visual FoxPro 9.0 tip on the Message Board earlier today in respect to how you can get Image values in and out of a SQL Server database and I thought I’d repost this here with a little more information. VFP 9 makes it a lot easier to work with Image/Blob data types than previous versions because it has native support for a binary datatype.

One of the issues in previous versions of VFP has always been talking to SQL Server image\binary data. FoxPro wants to convert any binary data into a General field when it returns it and sending data in has to be done with binary field types. In the past I had some nasty workarounds for this which involved creating a temporary cursor and modifying the general field physically on disk to turn it into a regular binary memo to read the data. I also did this to write the data although writing is actually easier.

Let’s start with VFP 9 because it’s easiest. The sample below uses a wwSQL class which is just a thin wrapper around SQL Passthrough (or a CursorAdapter if the ADO version is used). But you can replace it easily enough with SQLStringConnect and SQLEXEC calls.

CLEAR
DO WCONNECT

oSQL = CREATEOBJECT("wwSQL")
? oSQL.Connect("driver={Sql Server};database=WebStore2;server=.")

*** Create a string with some binary data
lcValue = "TEST ÿ[1]
- String"
? lcValue

*** Convert into a binary value – this works for VFP 8 as well
pcBin = CREATEBINARY(lcValue)

*** Or in 9.0 only:
*lcBin = CAST(lcValue as Blob)
? pcBin

CURSORSETPROP("MapBinary",.F.,0) && MapBinary not required
? oSql.ExecuteNonQuery("update wws_customers set [image] = ?lcBin where pk = 1")

? "Records: " + TRANSFORM(oSQL.nAffectedRecords)
? "Error: " + oSql.cErrorMsg


CURSORSETPROP("MapBinary",.T.,0)
? oSql.execute("select * from wws_customers")

browse
? Image
? CAST(Image as M)

RETURN

This works directly passing the data through the system as blob, which is great since this was a lot more of a pain in previous versions of VFP.

Actually the Update/Insert code above works just fine in VFP 8 (and probably earlier) if you remove the CursorSetProp call. CreateBinary creates a binary string and VFP detects the binary string and properly updates the Image field in the database even in 8.0.

However, reading binary data in 8.0 is another story. The only way I managed to do this, was to use this nasty code:

FUNCTION ReadBinaryField
LPARAMETERS lcField,lcTable,lcWhereClause
LOCAL lcTFileName, lcFileName, lcAlias, lcResult,llField, lnResult

IF EMPTY(lcWhereClause)
lnResult = this.Execute("select " + lcField + " from " + lcTable)
ELSE
lnResult = this.Execute("select " + lcField + " from " + lcTable + " where " + lcWhereClause)
ENDIF

IF lnResult < 1
RETURN ""
ENDIF

lcTFileName = SYS(2023) + "\" + SYS(2015) + ".dbf"
lcFileName = DBF()
lcAlias = ALIAS()

*** Copy out the data - cursor deletes automatically
COPY TO (lcTFileName)

*** Close the cursor
SELECT (lcAlias)
USE

* Change the flag in the general field
llFile = fopen(lcTFilename,12)
fseek(llFile,43)
fwrite(llFile,'M')
fclose(llFile)

*** Reopen the copied file
USE (lcTFileName) ALIAS __TImage EXCL

*** Retrieve the binary field value
lcResult = EVAL("__Timage." + lcField)

*** Close and Erase the temp file
USE
ERASE (FORCEEXT(lcTfileName,"*")

IF !EMPTY(lcAlias)
SELECT (lcAlias)
ENDIF

RETURN lcResult

So you can imagine it’s nice to be able to pull image data directly as part of a SQL Statement rather than going through all of this rigamarole. I hadn’t tried this but I think the CursorAdapter with an ADO data source also may have been able to pull the data out in VFP 8.

VFP9's support for a binary data type is the main reason this is much easier in 9.0 - a lot of features have been adjusted to take advantage of the new binary type including better support for some ActiveX controls that feed binary data back from their methods.

Now if they only could have done the same thing and have provided us with a Unicode type...

Co daje Yahoo deweloperom?

W artykule Build powerful Web applications via the Yahoo! Developer Network jest informacja o solidnym frameworku do tworzenia aplikacji internetowych udostepnianego na zasadach licencji BSD przez znana firme Yahoo (http://developer.yahoo.com/). Szczególnie interesująco wygląda sprawa GUI - (http://developer.yahoo.com/yui/index.html) oraz wzorców projektowych (http://developer.yahoo.com/yui/index.html). Dodatkowo można tworzyć tzw. wihajstry (widgest) - wtyczki do przeglądarki internetowej.

środa, sierpnia 02, 2006

Javascript - niebezpieczny?

Javascript - niebezpieczny? Do tej pory badacze zajmujący się bezpieczeństwem aplikacji internetowych kierowali swoją uwagę na dziury w przeglądarkach i serwerach internetowych. Teraz chyba mają dodatkowe zajęcie.

JS jest podstawą w rozwoju platformy internetowej Web 2.0 i rozszerza granice możliwości tego co może zrobić strona internetowa. Z drugiej strony "złośliwe" skrypty JS w połączeniu z coraz powszechniejszymi atakami na witryny (wykorzystujące luki w zabezpieczeniach witryn) powodują poważne szkody. JavaScript (później nazwany ECMAScript) - został opracowany przez Netscape Communication w 1995. Za wybór takiej nazwy "winę" ponosi Bill Joy (twórca edytora vi i współzałożyciel firmy Sun), który w rozmowie telefonicznej wywołaną przez przedstawiciela NetScape zapytany zgodził się aby w nazwie zawarte było słowo JAVA. Sam zresztą przyznaje, że nie miał głowy do myślenia, gdyż był na wyjeździe z rodziną. Co ma JavaScript do fali Web 2.0 czyli witryn dynamicznych wykorzystujących technologię AJAX (Asynchronous JavaScript and XML)? Podstawą AJAX-a jest właśnie JavaScript. Język ten ma złą sławę w zakresie nadużyć przez hackerów (Yammer worm w Yahoo Mail, Samy worm w MySpace - wykorzystały dziury w bezpieczeństwie dostępne w JS). Ostatnio badacze zajmujący się bezpieczeństwem odkryli sposób wykorzystania JS do wejście poprzez skrypty JS do sieci domowych i korporacyjnych np. sieci lokalne a nawet do ataków na serwery oraz urzadzenia telekomunikacyjne (rutery czy drukarki) *. Jak wygląda atak? 1) Poprzez skrypty JS wbudowane w stronę www uruchamiane w trakcie przeglądania "złośliwej" witryny (najczęściej podstawionej przez hackerów, mającej nazwę podobną do "dobrej") lub 2) poprzez wykonanie skryptów z innej strony (wykorzystując lukę w zabezpieczeniu zwaną "corss-site scripting") - wiele poważnych firm np. MS, GG załatało tę dziurę. Obrona? 1) Wyłącznie interpretera JS w przeglądarce - ale to pozbawia funkcjonalności wielu stronom. 2) Twórcy aplikacji Web 2.0 powinni więcej czasu poświęcić na sprawy bezpieczeństwa aplikacji a nie rozwijać jej funkcjonalność. Na podstawie:

FAQ: JavaScript insecurities

Wklejono z <http://news.com.com/FAQ+JavaScript+insecurities/2100-7349_3-6100019.html?tag=html.alert>

Informacje dodatkowe:

AJAX has its own share of security pitfalls.

Wklejono z <http://news.com.com/JavaScript+opens+doors+to+browser-based+attacks/2100-7349-6099891.html?part=dht&tag=nl.e433>

  • Firma SPI Dynamics zbudowała skaner lokalnej sieci uruchamiany ze zdalnej strony www i mogący uzyskać dostęp do wszystkich urządzeń sieciowych (np. w celu zmiany konfiguracji pracy i parametrów). Naprawa luki w JS bez utraty funkcjonalności wielu istniejących stron www jest trudna tak, że problem naprawy tej luki będzie przez jakiś czas nierozwiązany.

Jak się mają technologie IT?




Co wybrać narzędzia open-source czy .NET?

Konkluzja: współpraca obu rozwiązań. Wszystkie platformy mają podobną wydajność i dobrze sobie radzą w przeprowadzonych testach. Szczególnie, ku zdumieniu testujących dobrze wypadły mieszanki platformowe w środowisku Windows. Wybór testów - zastosowano dostępne na rynku darmowe narzędzia do testowania obciążenia. Testy obciążały raczej aplikacje a nie stanowiły obiektywnego miernika wydajności danej platformy w oparciu o którą dana aplikacja była stworzona. Aplikacje testowane nie były jakoś specjalnie optymalizowane.

Informacje o testach i wynikach można znaleźć: http://blog.eweek.com/blogs/eweek_labs.

Działy IT budują swoje platformy tzw. IT stacks w oparciu o różnorodne narzędzia i technologie. IT stack składa się z: systemu operacyjnego, serwerów webowych, baz danych, platformy warstwy skryptowej i paltformy rozwoju aplikacji. W oparciu o niego powstają aplikacje korporacyjne: portale, vortale, CMS, CRM lub ERP (enterprise resource planning). Uzależnienie od platformy IT jest tym większe im bardziej firmy orientują się na SOA. Dwie najbardziej znane platformy IT to Microsoft .NET i LAMP (WAMP na Windows).

Trzecia najbardziej ważna w obszarze korporacyjnym jest platform J2EE (inwariant to JSP). Te trzy platformy można łączyć i mieszać ze sobą. Wybór takiej a nie innej warstwy oparty jest nie o przesłanki technologiczne ale o socjalne i tradycyjne.

Testy portalowe: SharePoint portal Server 2003 (I-sze miejsce wytłumaczone doskonałą integracją wszystkich warstw platformy), XOOPS (PHP), Plone (Python - na bazie ZOPE, wydajność średnia), Liferay (używa lekkiej bazy HyperSonic SQL obecnie H2 oraz J2EE) i JBoss Portal (JSP, produkt niedojrzały jeszcze: miał problemy w wydajnością na platformie JBoss/CentOs/MySQL lepiej mu szło pod Windows). Narzędzie do obciążenie testami - nie OpenSTA ale SilkPerformer (dawniej z firmy Segue Software teraz Borland).

Konkluzja:

"The results we saw with the WAMP stacks were probably the biggest surprise in our entire test. Enterprise IT managers shouldn't hesitate to look into the option of deploying open-source stacks on a Windows Server platform."

Wklejono z <http://www.eweek.com/article2/0,1895,1983367,00.asp>

Niektóre wyniki testów:


Informacje różne

  • Przechrzta - zmiana nazwy WinFX na .NET 3.0."The .Net Framework 3.0 is still comprised of the existing .Net Framework 2.0 components, including ASP.Net, WinForms, ADO.Net, and the CLR, as well as new developer-focused innovative technologies in WPF, WCF, WF and WCS." Dodano następujące komponenty: WCF (Windows Communication Foundation), WPF (Windows Presentation Foundation), WF (Windows Workflow), and InfoCard—now known as WCS (Windows CardSpace) as part of the renaming scheme.http://www.eweek.com/article2/0,1895,1974865,00.asp

niedziela, lipca 30, 2006

PKI

VPN i PKI

VPN coraz częściej staje się wartością dodaną każdej sieci biznesowej. Szeroki dostęp do Internetu pozwala wykorzystać VPN oraz inwestycje w sieci lokalne do poszerzenia usług wewnętrznych na zewnątrz tej infrastruktury (głównie dla partnerów, klientów oraz pracowników). Możliwość korzystania z sieci wewnętrznej firmy poprzez Internet nosi nazwę tunelowania VPN.

VPN pozwala na dwie rzeczy: dostęp do sieci wewnętrznej dla upoważnionych do tego osób (VPN poszerza w sposób bezpieczny LAN); szyfrowanie całego ruchu sieciowego. Normalnie w Internecie jest możliwe podsłuchanie komunikacji, VPN uniemożliwia tego rodzaju szpiegostwo. Do tej pory był możliwy dostęp do zasobów wewnętrznych sieci np. poprzez dostęp typu dial-up ale było to bardzo zawodne i drogie rozwiązanie.

Technologia VPN

Tunel VPN łączy dwie lokacje. W tym przypadku użytkownika oraz zdalną sieć wewnętrzną. Kiedy użytkownik zewnętrzny pragnie połączyć się do sieci lokalnej poprzez VPN i korzystać z jej zasobów musi się najpierw przedstawić (zweryfikować, zautentykować). Po udanej autentykacji serwis VPN nawiązuje bezpośrednie połączenie z serwisem VPN na serwerze zdalnym. Taki kanał nosi nazwę tunelu poprzez Internet pomiędzy dwoma sieciami. Od tego momentu każdy komunikat sieciowy między tymi dwoma sieciami będzie przechodził przez ten właśnie kanał. Usługi VPN na obu końcach tego kanału będą dodatkowo szyfrowały i deszyfrowały wszystkie komunikaty. Jest wiele implementacji VPN, każda ma swoje wady i zalety. Dwie najpopularniejsze technologie konstruowania kanału VPN to:

  • P2PTP lub PPTP (Point to point tunneling protocol)
  • L2TP/IPSec (Layer 2 tunneling protocol with IPSec)

MS oczywiście implementował obie te technologie , ale jest jeszcze trzecia OpenVPN autorstwa James Yonan. Dlaczego ta trzecia? Dlatego:

  • PPTP jest protokołem MS i na początku rozwoju miał wiele kłopotów z bezpieczeństwem, obecnie zostały one usunięte ale pojawił się problem kłopotów we współpracy z innymi platformami. Np. protokół ten używa do konstrukcji kanału VPN i pakietów danych protokołu tzw. GRE (general routnig encapsulation) i niektóre routery blokują tego rodzaju ruch sieciowy. OpenVPN do konstrukcji pakietów w tunelu VPN używa wyłącznie protokołu UDP oraz TCP.
  • L2TP/IPSec nie dostarcza bezpieczeństwa, jedynie jest protokołem enkapsulującym dane, IPSec służy do szyfrowania i autentykacji stron. Ma jeszcze jedną wadę - VPN realizowany przy pomocy L2TP/IPSec nie może działać w środowisku NAT (Network Address Translation) działających na niektórych routerach. NAT wykorzystywany jest w małych sieciach i routerach obszaru SOHO (small office/hme office). Nowe routery DSL wspierają już NAT poprzez Universal Plug and Play (UPnP) NAT Traversal ale nie są jeszcze popularne. Protokół L2TP/IPSec jest skomplikowany w konfiguracji i konserwacji dlatego, że jest częścią większej infrastruktury sieciowej i działa na niższej warstwie. PPTP działa na wyższym poziomie i łatwiej zlokalizować i wykryć w nim problemy.
  • OpenVPN wydaje się pozbawiony powyższy wad i na dodatek jest łatwiejszy w instalacji (wystarczy UDP i/lub TCP). Do zabezpieczeń używa SSL (Secure Socket Layer) protokół opracowany przez Netscape. Od 1999 roku SSL został przemianowany na TLS (transport layer security) przez Internet Engineering Task Force (IETF). Bezpieczeństwo TLS wzmocnione jest przez technologię certyfikatów X.509. W najnowszej co prawda beta wersji OpenVPN 2.0 dodano niezwykle cenną właściwość - walidację podczas procesu autentykacji certyfikatów z listą odwołanych certyfikatów (CRL - Certificate Revocation List), inną nowością jest to, że usługa VPN uruchamia się jako jeden proces.

OpenVPN stosuje TLS do uzyskania bezpieczeństwa, sam protokół TLS w trakcie procesu weryfikacji i szyfrowania polega na cyfrowym obiekcie zwanym certyfikatem X.509. Po właściwym skonfigurowaniu PKI można również udostępnić wiele innych zabezpieczonych w ten sposób usług np. web services (uslugi sieciowe) i pocztę.

Technologią podstawową do zapewnienia bezpieczeństwa jest kryptografia oparta na kluczy publicznym - polega na bezpiecznej komunikacji wykorzystującej dwa rożne klucze: klucz publiczny dostępny każdemu oraz klucz prywatny zastrzeżony jedynie dla właściciela. Oba klucze są generowane na podstawie skomplikowanego algorytmu kryptograficznego. Mają one pożyteczną właściwość: zaszyfrowanie komunikatu jednym kluczem jest możliwoe do odczytania przy pomocy drugiego klucza. Tzn. po wygenerowaniu pary kluczy, użytkownik może odszyfrować kluczem publicznym komunikat zaszyfrowany kluczem prywatnym i na odwrót.

Przykładowy scenariusz:

  • Obiekt A wysyła zaszyfrowaną wiadomość do obiektu B, obiekt B wygenerował swoją parę kluczy i przekazał klucz publiczny m.in. do obiektu A, przy zaszyfrowaniu obiekt A korzysta z klucza publicznego B.
  • Obiekt B otrzymuje wiadomość i tylko on deszyfruje ją swoim kluczem prywatnym
  • Uwaga 1: dopóki obiekt B trzyma w sekrecie swój klucz prywatny tylko on może deszyfrować wiadomości od różnych osób szyfrujących jego kluczem publicznym
  • Uwaga 2: czy w przypadku odwrotnym kiedy obiekt B chce wysłać zaszyfrowaną wiadomość przeznaczoną wyłącznie dla obiektu A. Jak wiadomo w Internecie wszystkie komunikaty można przechwycić, jedynie te zaszyfrowane są niedostępne dla osób niepowołanych. Czy można skorzystać z istniejących kluczy obiektu B? Otóż nie, gdyby obiekt B wysłał komunikat do obiektu A szyfrując go swym kluczem prywatnym do WSZYSCY w Internecie mający jego klucz prywatny. Wniosek - NADAWCA chcąc wysłać do kogoś zaszyfrowaną wiadomość musi ją zaszyfrować kluczem publicznym ODBIORCY.

Cyfrowe certyfikaty

Widać w tym scenariuszy jeden mankament - brak możliwości zarządzania kluczami PUBLICZNYMI (a nie prywatnymi). Skąd NADAWCA wie, że wysyła wiadomości i szyfruje je właściwym kluczem publicznym ODBIORCY (strona trzecia może podsunąć NADAWCY fałszywy klucz, dzięki czemu NADAWCA szyfrując nim dane jest w błędzie myśląc, że one mogą być odszyfrowane przez właściwego ODBIORCĘ - nosi to nazwę maskarady). W tym celu wymyślono cyfrowy certyfikat, który jest strukturą danych weryfikującą klucz publiczny i zawiera:

  • Nazwisko właściciela klucza publicznego
  • Nazwisko urzędu certyfikacyjnego potwierdzającego autentyczność klucza
  • Właściwy klucz publiczny
  • Cyfrowa suma kontrola certyfikatu zaszyfrowana kluczem prywatnym urzędu certyfikacyjnego

Urząd certyfikacyjny gwarantuje autentyczność klucza publicznego (tj. że należy do strony żądającej certyfikatu zwanej też PODMIOTEM - subject). Strony wystawiająca certyfikat nosi nazwę WYSTAWCY (issuer). Format certyfikatu zgodnego z X.509 zakodowuje te nazwy zgodnie ze specjalną syntaktyką -DN (distinguish names).

WYSTAWCA tworząc certyfikat zbiera informacje o stronie żądającej go, tworzy ciąg: nazwa strony żądającej dane + klucz publiczny żądającej strony + swoją własną nazwę i oblicza sumę kontrolną takiej struktury. Urząd certyfikacyjny szyfruje wynik tej sumy kontrolnej przy pomocy swego własnego klucza prywatnego i dopisuje to do struktury certyfikatu.

Od tej chwili każdy może sprawdzić czy dany klucz publiczny udostępniony w Internecie faktycznie należy do WYSTAWCY. Mówiąc ogólnikowo UC przechowuje unikalne świadectwo autentyczności CERTYFIKATU, jest ono nieznane innym stronom.

Struktura Klucza Publicznego

PKI jest to zespół oprogramowania, baz danych oraz usług sieciowych pozwalających organizacji na wystawienie, opublikowanie oraz odwołanie certyfikatu cyfrowego.

Identyfikacja dostępu do zasobów w Windows


Przeprowadzanie autentykacji użytkowników w serwerze internetowym IIS

Spojrzenie historyczne - prawa dostępu użytkowników do zasobu w środowisku Windows są przechowywane w samych zasobach. Generalnie istnieją dwa protokoły autentykacji: named pipes (domyślny do MS SQL) oraz TCP/IP.

Zabezpieczenie IIS jest o tyle zagmatwane, że IIS korzysta z zabezpieczeń Windows - IIS jest środkiem do udostępniania plików z serwera w przeglądarce klienta. Jak nieznany użytkownik sieci może być autentykowany? Drogą do tego jest specjalne konto "wytrych" wpuszczające (potencjalnie) do wewnątrz zasobów Windows - IIS Anonymous User. Administrator musi stworzyć dla niego lokalne konto - IUSR_machinename (np. IUSR_marekw) który ma prawo "log on locally" i należy do grupy "Guest". Teoretycznie jest to bezpieczne.

Typy autentykacji (i podanie danych akredytacji do otrzymania dostępu do zasobów, gdy konto anonimowe jest zablokowane:

  1. Challenge/Response - działa dobrze w domenie Windows i tylko gdy przeglądarką klienta jest IE (czyli po zalogowaniu się do domeny, użytkownik jest automatycznie widziany przez IIS).
  2. Basic Authentication - jeżeli C/R nie uda się - przeglądarka prezentuje dialog żądający podania konta i hasła (są one wysyłane do IIS - czystym tekstem zakodowane Base64), zwykle wzmacnia (chroni przed podsłuchem) się tę transmisję poprzez SSL. Po otrzymaniu danych IIS przedstawia się w Windows jako ten użytkownik którego konto uzyskał w wyniku dialogu z przeglądarką.

Sposób aby programistycznie można wymusić autentykację:

<%

Response.Clear

Response.Buffer = True

Response.Status = "401 Unauthorized"

Response.AddHeader "WWW-Authenticate","NTLM"

Response.End

%>

Impersonifikacja (przestawienie się) - serwer IIS obsługuje pobranie zawartości pliku poprzez przedstawienie się jako konkretny użytkownik (anonimowy - IUSR_marekw, lub jako ten którego akredytację podał przy ekranie logowania). Użytkownik ten musi mieć prawo logowania się lokalnego do serwera Windows.

Oddelegowanie (delegation) - nie ma go w NT 4.0

SSL - oprogramowanie kodujące transmisję, duży narzut na wydajność serwera.


Zabezpieczenie MS SQL Server'a

Ma trzy poziomy: standard (wbudowany i pomija autentykację z domeną), zintegrowany z NT (wykorzystuje do logowania do MS SQL konto zalogowanego do domeny użytkownika - najczęściej wykorzystuje się protokół 'named pipes'), hybrydowy. Należy pamiętać, żeby stosować 'SYSTEM DSN' oraz podawać jako nazwę serwera 'local', gdy serwer SQL jest na tej samej maszynie co IIS - poprawia to wydajność.

Sprawy się naprawdę komplikują w przypadku zainstalowanie MS SQL na innym serwerze niż IIS.


czwartek, lipca 27, 2006

Dodatkowe elementy Windows Live Gallery

Toolbar Custom Buttons - http://gallery.live.com/results.aspx?l=2&ti=12 pozwala na dodanie nowych wtyczek do paska

Zamiennik FrontPage

Download details: Expression Web Designer CTP1:
Microsoft Expression Web Designer CTP1
Brief Description
Microsoft® Expression® Web Designer is a new designer-focused product that provides powerful tools you need to produce high-quality, standards-based Web sites the way you want them.
On This Page
Quick Details
Overview
System Requirements
Instructions
Additional Information
Related Resources
What Others Are Downloading
Related Downloads
FileForum | Microsoft IronPython:
Microsoft IronPython 1.0 RC1 beta
Publisher's Description:

Microsoft IronPython is a codename of the early pre-alpha release of the new Implementation Running on .NET of Python programming language. It supports an interactive interpreter with fully dynamic compilation. It is well integrated with the rest of the framework and makes all .NET libraries easily available to Python programmers.

Myśli różne

Wydaje się, że mimo wzmocnienia pozycji FireFox-a przeglądarka MS IE 7.0 nadal jest ważna. Powody:
  1. jest skąpa wizualnie, nie zawiera za dużo bajerów pozostawiając twórcom aplikacji internetowych (Web 2) wykorzystać nie tylko powierzchnię do wyświetlania danych aplikacji ale również możliwość "zagospodarowania" pasków narzędziowych,
  1. każdy internauta ładuje do FF ile się da wtyczek, które potencjalnie mogą się ze soba kłócić (są przecież od różnych autorów), zagracać wizualną formę przeglądarki no i co najważniejsze spowalniają pracę i pożerają dużo zasobów. FF wtedy wygląda jak przysłowiowa "choinka noworoczna".

Tak, że potrzebna jest taka przeglądarka, która jest prosta w obsłudze i formie, wbudowana w powszechnie dostępna (system operacyjny), szybka, surowa, nieprzeładowana do uruchamiania aplikacji Web 2. W przyszłości każdy internauta będzie miał dwie przeglądarki - jedną maksymalnie dostosowaną do swoich przeróżnych upodobań (FF z wtyczkami) i drugą MS IE jako platforma do uruchamiania aplikacji biznesowych Web 2.

Uwaga:

  • po zainstalowaniu "jedynego" paska narzedziowego Toolbar Live w IE zmiany w formie wizualnej polegaja na dodatkowych przyciskach na "górze " przeglądarki w mysl zasady "jak najmniej zmian" w formie wizualnej. To chyba dobra droga dla przegladarek do "korporacyjnych" aplikacji internetowych Web 2. Dodatkowo IE Live umożliwia tworzenie "wlasnych" wtyczek w srodowisku Live podobnie zreszta jak Yahoo i Opera widgets.

środa, czerwca 21, 2006

Informacje z BETANEWS

Nowa wersja przeglądarki Opera - darmowa i ma widgety podobnie jak Yahoo
Google SketchUP - do rysowania i modelowania 3D
DesproxyFE 0.0.4 beta - nowy http tunnel do przechodzenia przez proxy

czwartek, lutego 23, 2006

WikiCalc

Twórca idei arkusza kalkulacyjnego Dan Bricklins (Software Garden) zamierza połączyć ideę arkusza z możliwosciami edycji współbieżnej podobnej do Wiki. Produkt ma nosić nazwę wikiCalc i ma być dla użytkowników indywidualnych bezpłatny. Idea produktu to stworzenie aplikacji webowej opartej o współbieżną edycję danych (wiki) zgromadzoanych w postaci komórek arkusza. Daje to możliwosc edycji jednego arkusza równoczesnie przez wiele osób. Takiej funkcjonalnosci nie ma nawet "wzór" wszystkich arkuszy Excel. Należy nadmienić, że MS Office 2007 takie rzeczy ma już wbudowane (poprzez zakup firmy Groove i jej narzędzi). Podobne możliwsci ma SharePoint Services. Jest to odpowiedź na bolączkę wielu firm, gdzie osoby z różnych działów mają za zadanie wprowadzać dane do różnych czesci tego samego arkusza (obecnie robią to za pomocą przesyłania sobie arkusza jako załącznik poczty).

środa, lutego 22, 2006

Dzienne odnosniki

  1. http://www.rudi.net/bookshelf/classics/city/alexander/alexander1.shtml - Jeden z bandy czworga, założyciel wzorców programistycznych, pisze o wzorcowej organizacji miast.
  2. http://en.wikipedia.org/wiki/Pattern_language - co to są wzorce
  3. FreeMind - narzędzie do odwzorowania swoich mysli.

Strony niekonwencjonalne

The Register, FreshMeat, Cringely, SlashDot.

Co przyniesie Office 2007

Nowy Office kładzie przede wszystkim nacisk na pracę grupową oraz komunikację. (collaboration, content management and business intelligence). W końcu włączono produkt zakupiony w firmie Groove (Ozzi) - Office Groove 2007 and Office Groove Server 2007. Stawia na serwer SharePoint - nosi nową nazwę SharePoint Portal Server - jako klej do koordynacji pracy grupowej (zaniechano innego produktu CMS). Bazowe wersje Office nie będą miały Outlooka, zamiast tego będzie OneNote. Będzie m.in. Office Communicator Client, SharePoint Designer oraz cała gama produktów serwerowych (Microsoft Office Project Portfolio Server 2007, which provides project and portfolio management, and Microsoft Office Forms Server 2007, an electronic-forms platform. ).

wtorek, lutego 21, 2006

Wiadomości ze swiata

  1. Bardzo ciekawy serwis "slashdot" - szczególnie sekcja dla developerów na temat MDA i jej implementacji w MS w postaci DSL - domain specific language (http://developers.slashdot.org/)
  2. Po tym jak Oracle ogarnęła gorączka zakupów (InnoDB, SleepyCat Berkely DB a mówi się jeszcze o Zen i JBoss) sytuacja dla firmy MySQL stała się nie do pozazdroszczenia (technologia tranzakcji opierała się o mechanizmy wykorzystywane w InnoDB). Firma jednak się pozbierała i kupiła inną firmę Netfrastructure (Jim Starkley - jej szef jest twórcą pojęcia BLOB), która opiera się na otwartym projekcie FireBird (Interbase). Ciekawe co ztego wyjdzie biorąc pod uwagę duże zaangażowanie w FI programistów z Rosji. Odnośniki: edytor SlashDot.
  3. Architektura FB jest ciekawa: klasyczna (każdy program ma równoległy dostęp do pliku bazy i zakłada 'lock' i super serwer (jest koorynator dostępu do bazy - główny kierunek bo to nowoczesne i przyjęte w innych serwerach rozwiązanie). Dobra dokumentacja na ten temat.
  4. Narzędzia wyszukiwarkowe Google (Desktop) są niebezpieczne gdyż wysyłają do serwerów Google, indeksy do lokalnych plików (wg. firmy Gartner).
  5. Miecz obosieczny - jak ogłoszono na konferencji RSA w nowej wersji Vista (MS) będzie tak mocne zabezpieczenie danych, że służby bezpieczeństwa nie będą w stanie dostać się do zaszyfrowanych dokumentów. Oczywiście przemysł nagraniowy i filmowy jest z tego zadowolony. Platforma szyfrowania Vista wykorzystuje chipsety TPM (Trusted Platform Module) gdzie są sprzętowo przechowywane klucze, certyfikaty i hasła dostępu do plików na dysku. UK proponuje zwrócić się do MS o umożliwienia instalacji backdoora do tego mechnizmy ale MS się sprzeciwia (to wbrew założeniu, że informacja jest w rękach właściciela dokumentu a nie nośnika przechowującego ten dokument). Inne rozwiązanie to specjalna wersja Visty dla służb bezpieczeństwa.

niedziela, stycznia 08, 2006

Nowa inicjatywa IBM

Po zakupieniu przed 6-cioma miesiącami firmy Gluecode, IBM wypuscił (14.11) nową, darmową wersję tego oprogramowania pod nazwą Websphere Application Server - Community Edition. Bazuje ona w 90% na Geronimo, reszta to Cloudscape + UI interfejs do zarządzania oraz RT z IBM + sterowniki do innych baz (MySQL, MS SQL oraz Oracle) + poprawiona dokumentacja + GBeans (wsparcie J2EE) + AXIS + wtyczka do Eclipsa (tego klipsu wlasnie brakowało w ostatnich wrsjach Eclipsa). Oficjalna informacja o tym jest tu.

czwartek, listopada 24, 2005

Smutno mi

Po zakończeniu cyklu życia VB na rynku aplikacji do tworzenia oprogramownaia w "starym" srodowisku Windows zostaje tylko VFP. "Nowe" srodowisko wymaga .NET Framework oraz wyższe od 98 wersje Windows.

piątek, listopada 18, 2005

Pytanie za 1000 punktów

Co się dzieje z technologią open-source, kiedy firma komercyjna kupuje jakąs technologię open-source lub firmę, która taką technologię stosuje w swych produktach. Czy wtedy owa firma może ja zamknąć i rozwijać jako własny, komercyjny produjt czy nie? Przecież do powstania danej technologii open-source przyczyniło się całe mnóstwo osób robiąc to bezpłatnie. Czy to oznacza "uwalenie" tej technologii czy nie?

DataDirect dla JBoss

DataDirect udostępniła sterownik jdbc dla serwera aplikacyjnego JBOSS. Można nawet sięgać z Unix/Linux-a do baz danych MS SQL Server. Interesujace...

Blogować, ale jak

Trzy głowne narzędzia do tworzenia blogów: Movable, textPattern, WordPress - opis i ich historia + zasady licencjonowania.

Google Base

Firma Google ciągle eksperymentuje z nowymi (i nie całkiem nowymi) ponysłami. Ostatni pomysł to inicjatywa Google Base - oznacza to, że firma chce udostępnić w Internecie narzędzia i zasoby do przechowywania i przeszukiwania ogromnych ilosci informacji (które można skategoryzować w celu ułatwienia przeszukiwania). O to wszystko za darmo. pewnym utrudnieniem jest wymóg aby przed opublikowaniem informacji najpierw nadać jej etykietki (labels) i następnie ją opisać atrybutami (terms). W ten sposób G dobitnie zademonstrował swoje chęci wejscia w obszar tzw. user-generated content and tagging - tj. generowania zawartosci i jej etykietowanie znane choćby z takich serwisów jak Del.icio.us social-bookmarking site i Yahoo's Flickr photo-sharing site. Jest to pewien zwrot w polityce firmy, która zwykle udostępniała indeks wyszukiwania danych w Internecie. Teraz udostępnia możliwosć publikowania swych inofrmacji. Czym nie jest GB - nie jest serwisem dla użytkowników zajmujących się wyszukiwaniem informacji ani nie jest serwisem ukierunkowanych reklam (online classified-ads service). W publikowaniu informacji na GB firma Google kieruje się swoją własną polityką.

Model biznesowy dla open-source

Jaki jest przepis na sukces w wykorzystaniu komercyjnym technologii open-source? Poszukiwania "swego miejsca" w swiecie komercyjnego oprogramowania. Obecnie jest to temat powszechnie dyskutowany. Można wsród nich znaleźć firmy:

  1. "przepakowujące" produkty wytworzone na bazie O-S np. Red Hat (no prawdę mówiąc RH zaczyna cos robić w obszarze nakładów na R&D) lub Novell/Suse,
  2. firmy zajmujące się rozwojem i wsparciem dla swych produktów (własnych, u siebie zrobionych) i działające na zasadzie "podwójnej" licencji (w zależnosci od rodzaju zastosowania: komercyjne - płatne i własny użytke - darmowe) - są to MySQL i JBoss,
  3. firmy działające posrodku np. EnterpriseDB - firma wzięła PostgreSQL, stabilny produkt open-source i wzbogaciła go o nowe cechy np. możliwosć interpretowania PL/SQL czyniąc ją kompatybilną z Oracle bez koniecznosci ponoszenia kosztów licencji bazy Oracle. W ten sposób firma oferuje bezpłatny PostgreSQL (rozwijany jako O-S), płatne wsparcie dla niej oraz uniklaną własnosć - kompatybilnosć z bazą Oracle.
  4. Czy jest jakis inny sposób na "pasożytnictwo" na bazie produktów O-S.

środa, listopada 09, 2005

Z innej beczki

Is Massachusetts' OpenDocument decision on the rocks? - http://blogs.zdnet.com/BTL/index.php?p=2057&tag=nl.e539
Office schemas and sublicensing - http://blogs.zdnet.com/carroll/index.php?p=1504&tag=nl.e539

Dywagacje na temat ajaksowania

Wiele się mówi na temat porozumienia między SUN-em a Google i co z tego może wyniknąć. Pewne spekulacje są prowadzone na temat zbliżenia Open Office do technologii internetowych poprzez wykorzystanie AJAX. Sun president and COO Jonathan Schwartz w swym blogu powiedział, że realziacja OO w konwencji klienta webowego nie ma sensu. Zresztą i tak bez niego to wiadomo. Co innego aplikacja C/S w której klient posługuje się formatkami do wpowadzania danych a gros funkcjonalnosci realizowana jest po stronie serwowej, a co innego 100% aplikacja kliencka posługująca się metadanymi któe trzeba by przesuwać między serwerm a klientem.
Formularze są naturalną częscią aplikacji webowej i nie ma sensu do tego celu stosować ciężkiej aplikacji klienckiej. Przykładem jest G-Mail, jest to C/S gdzie komunikacja odbywa się poprzez formularz ale przetwarzanie jest na serwerze. Bez niego nie da się obejsć - taka jest zasada implementacji poczty elektronicznej. Ale obecne aplikacje front office mogą się obejsć bez serwera.
Co może dać AJAX aplikacji typu Open Office?
Trzy cechy:
  1. intergarcję,
  2. udostępnianie i
  3. komunikację.

Współczesne aplikacje biurowe nie oferują za dużo tych cech (może najwięcej daje MS Office w tym zakresie).

Obecnie praktycznie trudno jest o współpracę kilku użytkowników nad jednym wspólnym dokumentem o ile nie dysponują tym samym oprogramowaniem MS Office. Mimo, że jest to teoretycznie możliwe (połączenie ze wspólnym serwerem), nawet gbyby byli wyposażeni w różne urządznia asystneckie (PDA np. BlackBerry, Pocket PC czy Web terminal). Mają one po prostu "rozumieć" format wymienianego dokumentu.
Widzi więc możliwosć wyposażenia OO w narzędzia do pracy grupowej ale nie w sieci lokalnej ale w sieci globalnej (tj. Internecie). Do tego również zmierza MS w MS Office (ale Swartz tego nie mówi).
Do realizacji tego zamierzenia chce wykorzystać technologię AJAX oraz otwarty format dokumentu ODF. Technologia AJAX nawet na mało inteligentnym urządzniu pozwoli na podstawową interakcję z dokumentem, urządzenie z Javą udostepni więcej funkcji edycyjnych, ale każda końcówka pozwoli na rezlizaję trzech wspomnianych zasad. http://blogs.zdnet.com/BTL/?p=2055

Ciekawe adresy

Magia -sud0: http://www.networkworld.com/nlvoice10669
Informix group - http://www.iiug.org/waiug/
Dlaczego Unix musi odejsć? - http://www.informit.com/articles/article.asp?p=424451&seqNum=11
O linuksie - http://lxer.com/module/newswire/view/46917/index.html
Słynna NIST - http://www.nist.gov/
Open Office to MS Office Converter - http://www.clever-age.org/index.php?id=40
Ciekawy blog - http://seanmcgrath.blogspot.com/
Daily python - http://www.pythonware.com/daily/
Wirus w Linux (PHP) zwany Lupper - http://searchsecurity.techtarget.com/originalContent/0,289142,sid14_gci1141351,00.html?track=NL-102&ad=533046HOUSE
Za ODF - http://www.consortiuminfo.org/newsblog/blog.php?ID=1714
Banki nie chcą two-way authorization - http://www.networkworld.com/columnists/2005/110705musthaler.html?vo&code=nlvoice10669
Model biznesowy firm open-source (bazowanie tylko na serwisie jak to ma miejsce w przypadku JBoss jest troszkę ryzykowne) - http://news.com.com/2100-7344_3-5934144.html?tag=st.prev - "Open source, open wallet" -zainteresowanie się firmami o-s przez venture capitalist (VC) może spowodować efekt "bubble" - bańki jak to już miało miejsce z firmami internetowymi

poniedziałek, listopada 07, 2005

Rumors na rozne tematy

  1. Office lite - dlaczego jest to niemożliwe? Oto powody: uporać się z obiegiem informacji (dokumentu), kontrolować dostęp do danych w ramach dokumentów całego przedsiębiorstwa, wymagać politykę polis, zgodności ze standardami itd. tego nie da się załatwić poprzez Web - trzeba mieć dostęp szybki do lokalnego środowiska (sieci, serwerów i innych zasobów)
  2. Uwaga - zmiany wykonane w ostatnich łatkach do MS mogą zaburzyć funkcjonowanie niektórych stron internetowych wykorzystujących ActiveX oraz Java (http://news.com.com/Microsoft+patches+may+break+Web+sites/2100-1002_3-5929689.html?tag=nefd.pop)
  3. http://dw.com.com/redir?destUrl=http%3A%2F%2Fgoogledesktop.blogspot.com%2F&siteId=3&oId=2100-1032-5930937&ontId=1023&lop=nl.ex - Informacja o Google blog-u na temat DeskTop Search w notatce na stronie (http://news.com.com/Google+touts+new+features+in+desktop+tool/2100-1032_3-5930937.html?tag=nefd.pop)
  4. Google throws bodies at OpenOffice - ciekawe http://news.zdnet.com/2100-9593_22-5920762.html?tag=nl.e539

sobota, listopada 05, 2005

Koniec standardu szyfrowania

Pora na nowy (chińscy naukowcy w marcu br. odkryli teoretyczną lukę w algorytmie na przeskodzie realziacji praktycznej stoją duże wymagania sprzętowe, ale z czasem są one do pokonania). Stary istnieje już ponad 10 lat. Mowa o SHA-1 (Secure Hash Algorithm zaproponowany przez NSA - National Security Agency) i służy do weryfikacji podpisu cyfrowego w poczcie i na stronach www. Wyborem nowego zajmuje się NIST (nat. institute of Standards and Technology), jest on trudny bo powinien nowy algorytm przetrwać przynajmniej 10 lat. NIST ma dwie alternatywy:
  1. Zmodyfikować SHA-1 tak aby zabezpieczyć się przed jego złamaniem (nie wiadomo jednak na jak długo to zabezpieczenie będzie skuteczne)
  2. Wybrać nowy algorytm w procesie dlugotrwałego zbierania i rozważanie opinii równych srodowisk (tak postąpił gdy wybierał algorytm szyfrowania - Rindajel)
Z drugiej odmian SHA-1 jest wiele i dają różne nowe możlwiosci. Grupują się one pod nazwą SHA-2. Są to SHA-256, - 284, -512 ale nie były one tak dokładnie badane przez specjalistów jak SHA-1. Pewna nadzieja jest w tym, że na wyjsciu SHA-1 jest ciąg zwany finger prints o długosci 160 bitów a nie 128 jak to ma miejsce w algorytmie MD5 (notabene już skompromitownym). Przeciw szybiej zmianie algorytmu funkcji mieszającej stoi fakt, że wymaga to przebudowania wielu podstawowych algorytmów wykorzystywanych w technologiach internetowych np. TLS/SSL, SSH, iPSec. Wymaga to też przełączenia na nowy algorytm wiele agencji rządowych oraz firm komercyjnych (nawet PGP używa ciągle SHA-1). Nie ulega wątpliwosci, że nowe algorytmy muszą być kompatybilne z SHA-1 i móc przetwarzać dokumenty podpisane przez SHA-1. Nowy algorym spodziewany jest w 2010 roku.

Różnosci

  1. http://news.com.com/Mass.+officials+criticize+OpenDocument+decision/2100-1013_3-5925823.html?tag=st.rc.targ_mb - Krytyka openDoc-a przez polityków stanu Mass.
  2. http://news.com.com/Google+chase+could+trip+up+Microsoft/2100-1012-5924558.html?part=dht&tag=ntop&tag=nl.e703 - Google goni MS
  3. http://blogs.msdn.com/mswanson/archive/2005/10.aspx - Michael Swanson blog
  4. http://www.oreilly.com/catalog/jscript4/chapter/ch17.html - DOM opis
  5. http://www.oreilly.com/catalog/progphp/chapter/ch05.html - PHP tablice
  6. http://blogs.zdnet.com/BTL/?p=2067&tag=nl.e539 - Dywagacje CTO z Sun-a
  7. http://news.zdnet.com/2100-9593_22-5920762.html?tag=nl.e539 - Google cały stoi za OpenDoc i OO
  8. http://blogs.zdnet.com/web2explorer/index.php?p=41&tag=nl.e539 - Czy MS buduje Office w wersji webowej
  9. http://blogs.zdnet.com/BTL/?p=2082&tag=nl.e539 - Czy będzie Office Lite?
  10. http://blogs.zdnet.com/web2explorer/?p=42&tag=nl.e539 - Więcej na ten temat.
  11. http://blogs.zdnet.com/SAAS/?p=51&tag=nl.e539 - Office jako serwis? To już było! Australijski dostawca internetu niedawno się z tego pomysłu wycofał. Cecha internetowa aplikacji to przede wszystkim możliwosć kolabracji, wspólnej pracy nad dokumentami przez różnych użytkowników w możliwie najbardziej efektywny sposób. Istnieje wdrażane na siłe rozwiązanie przez IBM w postaci platformy Virtualized Hosted Client infrastructure platform (blade obsługujący 15 klientów zbudowanych z oprogramowania VMWare, Windows XP podbudowanego przez Citrix). Jak zwraca na to uwagę David Berlind nie ma sensu budować internetowego OpenOffice (wsparcie przez AJAX).
  12. http://news.zdnet.com/2100-9584_22-5900930.html - klej do informacji (a la deli.ciuo.us)
  13. http://livescience.com/ - portal naukowy
  14. http://particletree.com/notebook/typography-crash-course-roundup/ - kurs typografii

Xena i RH

Wraz z pojawieniem się nowego CIO - Brain Stevens w RH pojawiły się przejawy innowacyjnosci polegające na wzięcie we własne ręce spraw developerskich (około 40 programistów be dzie się tym zajmowało). Do tej pory RH jedynie pakował sprawdzone projekty open-source i dawał im wsparcie. Teraz chce przejawić więcej inicjatywy w postaci trzech projektów. Na początek będzie wirtualizacja tj. projekt Xena - wirtualnego srodowiska do uruchamiania wielu systemów operacyjnych (mimo prac nad tym, projekt nadal będzie miał status "otwartego", prace nad nową wersją Xen-y są spóźnione zamist sierpnia mówi się o końcu grudnia . Potem zajmie się pracami nad "stateless Linux" (dla korporacyjnych stanowisk desktopowych) oraz SystemTap (narzędzie do badania i monitorowania systemu). Stateless Linux w zamysle miał być systemem operac. i srodowiskiem użytkownika przechowywanym na serwerze. W ten sposób dowolny komputer może stać się miejscem pracy dla użytkownika po sciągnięciu z serwera obrazu swojego srodowiska (wymaga to dopracowania modułów rozpoznawania przez oprogramowania srodowiska aktualnie uruchamianego sprzętu końcowego). Inną alternatywą jest synchronizacja danych między stacją roboczą a serwerem. Wreszcie trzeci projekt - dostarczenie adminom i programistom efektywnych narzędzi do badania zachowania się systemu: System Tap (odpowiedź na narzędzie Sun-a - DTrace) do trasowania oprogramowania oraz Frysk do debagowania programów.

wtorek, listopada 01, 2005

poniedziałek, października 31, 2005

AJAZ znowu

Strona głowna - http://webdesign.about.com/od/ajax/
AJAX: Asynchronous JavaScript and XMLWeb applications can be a challenging endeavor where you try to get your customers to wait for data to load or pages to render. But with AJAX - Asynchronous JavaScript and XML - you can create multi-purpose Web applications that feel like desktop applications. No more waiting for pages to load, and the hourglass is gone.

AJAX DefinitionDefinition of the term AJAX as it relates to Web design and development
AJAX Security HoleIf you use AJAX to write applications, you should be aware of a security hole that was found.
AJAX - DefinitionThe JavaScript Guide at About defines AJAX.
AJAX' Achilles HeelXML isn't required but JavaScript is. Keep in mind that if you use AJAX for your Web applications that your readers who browse with JavaScript off won't have functionality unless you have some alternative for them.3 more Articles & Resources below
More Categories Up a category
AJAX Examples (5)

Articles & Resourcesmore from your guide
Asyncrhronous JavaScript and XMLThis short article explains how AJAX can be used to improve your Web pages without needing to reload the page. From the About Guide to JavaScript.
Ajax: A New Approach to Web Applicationsby Jesse James GarrettThis is the original article that coined the term "AJAX". It is a great overview of what AJAX is and how it's used in various examples.
Ajax (programming) - Wikipedia, the free encyclopediaThe Wikipedia provides a very clear and comprehensive definition of AJAX. This is a good overview site, but you won't learn to write AJAX from this page.

Zasoby i ciekawe linki

  1. http://pear.php.net/package/HTML_Table_Matrix/docs/latest/HTML_Table_Matrix/HTML_Table_Matrix.html,
  2. http://pear.php.net/package/HTML_AJAX/docs/latest/AJAX/HTML_AJAX.html - cała gałąź pear.php.net - zawiera pakiety do wykorzystania
  3. http://www.zend.com/pear/whoiswho.php?pkg=HTML_Table_Matrix - strona główna

Słabe hasło Oracle

Okazało się, że Oracle ma słaby algorytm hashowania hasła. Wie od lipca o tym i nic nie robi w tym zakresie. Artykuł na temat zagrożeń jest tu. Oracle od dawna jest potępiany za opieszałosć w tym zakresie (reakcji na wiadomosci o zagrożeniach w swych produktach).

Jeszcze jedno - firma ogłosiła dostępnosć pod koniec roku swej bazy Oracle 10gi w wersji darmowej z pewnymi ograniczeniami. Produkt nazywa się (Oracle Database XE) i ma ograniczenia (one processor, with 4GB of disk memory and 1GB of memory). Express Edition database że być rozprowadzany z innymi produktami.Będzie dostępny pod koniec roku poprzez Oracle's developer network i ma zawierać Web-based administration console development tools.

niedziela, października 30, 2005

Skryptowanie w JS

http://wiki.script.aculo.us/scriptaculous/show/Integration - intergracje scriot.aculo.us z innymi języka programowania skryptowego (PHP, JAVA itd) np. http://zoopframework.com/ss.4/home/1 - ZOOP dla PHP
http://www.jeffpipas.com/blog/archives/2005/07/ajax_and_php_fo.html - AJAX and PHP form processing
http://blogs.msdn.com/dmassy/ - Blog kierownika grupy MS IE (super)
http://blogs.msdn.com/ie/archive/2005/06/10/428149.aspx - Kłopoty z drukowaniem w IE
http://blogs.msdn.com/ie/archive/2005/02/10/370721.aspx -Table rendering
http://www.zeepe.com/zeepeinfo/default.asp - pochwała ZEEPE, ale po co?
http://blogs.msdn.com/ericlippert/archive/2003/09/17/53028.aspx - Eric Lippert's
http://pro.html.it/articoli/id_599/idcat_31/pro.html - Nifty corner's
http://www.nutrocker.co.uk/corners5.html -wzorce rogów
http://formassembly.com/blog/wforms-a-javascript-extension-to-web-forms/ - Wform
http://blogs.msdn.com/tonyschr/ - Tony JS
http://pro.html.it/articoli/id_599/idcat_31/pro.html - Artykuł o MS
http://www.nu2.nu/pebuilder/ - BART PE

Wycieki pamięci w IE

MSDN artykuł "Understanding and Solving Internet Explorer Leak Patterns" jest wiele na temat zapobieżenia wycieku pamięci z MS IE. Sprowadza się to głównie do zerowania globalnych zmiennych przy zamykaniu strony. Najlepiej zrobić to w UNLOAD, funkcja zamykająca stronę powinna zerować te zmienne np.:
  • document.getElementById("LeakedDiv").expandoProperty = null;
Inny, ciekawy artykuł jest - tu.
Zaokrąglone okienka i div - tu.

Kompatybilnosć przeglądarki MS IE 6 i wyżej

Jak to naprawdę wygląda? Z uwagi na niekompatybilnosć IE 6.x ze standardem CSS, tworcy stron proponują wprowadzenie tzw. hacks, które oszukują IE i zmuszają do prawidłowego działalnia. Okazuje się, że wprowadzenie MS IE 7.0 spowodowało, że niektóre (w przyszłosci wszystkie tzw. hacks będą niepotrzebne lub wręcz nie będą działać). Sterować zgodnoscią z CSS (tzw. standard-complianat mode) z poziomu IE można inaczej. Dzieje się to przy pomocy znacznika !DOCTYPE.
Przykład zgodnosci z HTML 4.o DTD (wg)
<.DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN".>
<.DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN".>
Zgodnosć z "transitional" HTM 4.0 DTD
<.DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN".>
<.DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd".> - kompatybilnosć ze standardem
Inne informacje o CSS w IE patrz tu.
Sterować zachowaniem się arkuszy stylów można przy pomocy warunkowych komentarzy (conditional comments):
<.--[if IE]>zdania z arkuszamy stylow
Uwaga:
  1. Do przeglądania źródeł kodów HTML swietnie nadaje się Developer's Toolbar podobnie jak Fiddler.
  2. Przeglądaj również stronę tu (Jupiter form MS) i czytaj "IE 7 Security in Brief" (ms ie blog)
  3. Bazą do przebudowy IE w wersji 7 było "threat-modelling" technique, oznacza to przegląd kodu pod katem zabezpieczenia przed zagrożeniami i atakami.
  4. Nowy RSS: http://thurrott.blogspot.com/rss/thurrott.xml z windows IT Pro (.windowsitpro.)
  5. Uwaga, smieszne wideo z MS tu